在线观看www成人影院-在线观看www日本免费网站-在线观看www视频-在线观看操-欧美18在线-欧美1级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Java泛型的工作原理和案例

如意 ? 來源:百家號(hào) ? 作者:米粒教育 ? 2020-07-01 10:14 ? 次閱讀

泛型是Java語言一個(gè)非常重要的概念,在Java集合類框架中被廣泛應(yīng)用。在介紹泛型之前先看一個(gè)例子。

案例1:建立CollectionTest1類,實(shí)例化ArrayList對(duì)象,在list集合添加String對(duì)象。

在collection包下新建CollectionTest1類。代碼如下:

import java.util.ArrayList;

import java.util.Collection;

import java.util.Iterator;

public class CollectionTest1 {

public static void main(String[] args) {

Collection list = new ArrayList();

list.add(“first”);

list.add(“second”);

list.add(“third”);

// 獲取list集合的迭代器

Iterator iterator = list.iterator();

// 使用while循環(huán)迭代集合中對(duì)象

while (iterator.hasNext()) {

String str = (String)iterator.next();

System.out.println(str);

}

}

}

在上面的案例代碼中,存入list容器的對(duì)象是字符串類型,因?yàn)閷?duì)象加入容器時(shí)都被轉(zhuǎn)化為Object類型,因此在使用迭代器的next()方法獲取對(duì)象元素時(shí),需要把Object類型強(qiáng)制轉(zhuǎn)換為字符串類型,這種類型轉(zhuǎn)換稱為向下類型轉(zhuǎn)換。向下類型轉(zhuǎn)換時(shí),如果父類不能轉(zhuǎn)換為子類,則拋出ClassCastExceptionClassCastException異常。在泛型出現(xiàn)之前,這種現(xiàn)象在編程中會(huì)經(jīng)常發(fā)生,因?yàn)橛袝r(shí)程序員在獲取集合存儲(chǔ)的對(duì)象元素時(shí),并不能夠完全明確集合中存儲(chǔ)的是屬于什么類型的元素。

那么有什么辦法可以讓裝入集合容器的數(shù)據(jù)保存自己的類型,而不被轉(zhuǎn)化為Object對(duì)象呢?這就需要用到JDK 5.0后支持的一項(xiàng)新功能——Java泛型。

泛型在Java代碼編譯時(shí)被用到,是提供給編譯器語法檢查用的。泛型允許用戶在定義類、類方法、形式參數(shù)、成員變量時(shí),指定它為通用類型,也就是數(shù)據(jù)類型可以是任意的類型,如“List《?》 list=null;”,具體調(diào)用的時(shí)候,要將通用類型轉(zhuǎn)換成指定的類型使用。

泛型這個(gè)概念類似于大學(xué)自習(xí)時(shí)的占座行為,在課桌上丟一本書或某個(gè)相關(guān)的標(biāo)記,表明此座位已經(jīng)有人了,這個(gè)座位上究竟是那位同學(xué),可能只有到上課才知道。泛型也就是給參數(shù)類型指定的一個(gè)占位符,就像方法的形式參數(shù)是運(yùn)行時(shí)傳遞的值的占位符一樣。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • JAVA
    +關(guān)注

    關(guān)注

    20

    文章

    2982

    瀏覽量

    106436
  • 泛型
    +關(guān)注

    關(guān)注

    0

    文章

    5

    瀏覽量

    2005
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4833
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    詳解Rust的

    所有的編程語言都致力于將重復(fù)的任務(wù)簡(jiǎn)單化,并為此提供各種各樣的工具。在 Rust 中,(generics)就是這樣一種工具,它是具體類型或其它屬性的抽象替代。在編寫代碼時(shí),我們可以直接描述
    發(fā)表于 11-12 09:08 ?1181次閱讀

    Java的背景和作用

    Java的背景和作用 JavaJava編程
    的頭像 發(fā)表于 09-20 14:30 ?1260次閱讀
    <b class='flag-5'>Java</b><b class='flag-5'>泛</b><b class='flag-5'>型</b>的背景和作用

    雙極晶體管工作原理

    雙極晶體管工作原理
    發(fā)表于 08-20 08:53

    labview連接mongdb問題,找到不.NET類中的

    有沒有人用labview連接mongodb數(shù)據(jù)庫的?已下載mongodb的c#驅(qū)動(dòng),利用labview中的.net控件調(diào)用相關(guān)函數(shù),但是驅(qū)動(dòng)中有部分函數(shù)在類中, labview能調(diào)用c#中的
    發(fā)表于 04-08 13:38

    詳細(xì)介紹了Java、注解、并發(fā)編程

    介紹了Java、注解、并發(fā)編程、數(shù)據(jù)傳輸與序列化、高效IO、容器集合、反射與類加載以及JVM重點(diǎn)知識(shí)線程、內(nèi)存模型、JVM運(yùn)行時(shí)內(nèi)存、垃圾回收與算法、Java中四種引用類型、GC
    發(fā)表于 08-20 06:09

    冒泡排序法的實(shí)現(xiàn)

    冒泡排序法的實(shí)現(xiàn),自用筆記!
    發(fā)表于 01-20 07:22

    Java Script的工作原理是什么?怎樣用它來生成簡(jiǎn)單的

    Java Script的工作原理是什么?怎樣用它來生成簡(jiǎn)單的計(jì)算器? JavaScript就是所謂的客戶端腳本語言,是一種在互聯(lián)網(wǎng)瀏覽器(瀏覽器也稱為Web客戶端,因?yàn)樗B接到Web服務(wù)器
    發(fā)表于 08-04 10:44 ?2185次閱讀

    閥的工作原理

    工作原理閥:是儀表測(cè)量管路系統(tǒng)中重要組成部分,主要有截
    發(fā)表于 10-25 14:03 ?2308次閱讀

    iOS中關(guān)于的解析

    文章圍繞這五點(diǎn): 1. 是什么 2. 為什么要用 3. 怎么用 4.
    發(fā)表于 09-25 10:01 ?0次下載

    java 編程

    一。 概念的提出(為什么需要)? 首先,我們看下下面這段簡(jiǎn)短的代碼: publicclassGenericTest { publicstaticvoidmain(String[
    發(fā)表于 09-27 11:15 ?0次下載

    聊聊java實(shí)現(xiàn)的原理與好處

    摘要: 和C++以模板來實(shí)現(xiàn)靜多態(tài)不同,Java基于運(yùn)行時(shí)支持選擇了,兩者的實(shí)現(xiàn)原理大相庭徑。C++可以支持基本類型作為模板參數(shù),Java卻只能接受類作為
    發(fā)表于 09-27 16:50 ?0次下載

    "引用"在Android和Java中的工作原理

    本文講的是徹底理解引用在Android和Java中的工作原理,引用指向了一個(gè)對(duì)象,你能通過引用訪問對(duì)象。Java默認(rèn)有4種類型的引用:強(qiáng)引用(StrongReference)、軟引用(SoftReference)、弱引用(Wea
    發(fā)表于 11-27 08:55 ?1341次閱讀
    "引用"在Android和<b class='flag-5'>Java</b>中的<b class='flag-5'>工作原理</b>

    逆變器工作原理視頻

    本文以逆變器的工作原理為中心而展開的話題闡述,分別介紹了全控逆變器工作原理和半控逆變器工作原理
    的頭像 發(fā)表于 08-02 16:02 ?5.1w次閱讀

    Java反射的工作原理和源碼分析

    Java反射的工作原理和源碼分析
    發(fā)表于 07-08 15:11 ?14次下載
    <b class='flag-5'>Java</b>反射的<b class='flag-5'>工作原理</b>和源碼分析

    深入了解Java——從前世今生到PECS原則

    元素?”的問題,也會(huì)出現(xiàn)感嘆Java限制太多了很難用的情況。 為了更好的使用,就需要更深地了解它,因此本文主要介紹
    的頭像 發(fā)表于 11-21 11:45 ?407次閱讀
    深入了解<b class='flag-5'>Java</b><b class='flag-5'>泛</b><b class='flag-5'>型</b>——從前世今生到PECS原則
    主站蜘蛛池模板: 爱啪网站| 国产亚洲一区二区精品 | 天天夜夜爽 | 在线亚洲精品中文字幕美乳 | 久久久久国产一级毛片高清片 | 久久久久久久性潮 | 碰免费人人人视频 | 性色在线视频精品 | 久久天天躁夜夜躁狠狠85台湾 | 四虎精品影院永久在线播放 | 国产美女叼嘿视频免费看 | 唐人社电亚洲一区二区三区 | 成人夜色视频网站在线观看 | 欧美一级高清免费a | 高清不卡毛片免费观看 | 婷婷丁香四月 | 国产小视频免费在线观看 | 天天做天天爱天天综合网2021 | 亚洲播放 | 色妞妞网 | 欧美射射射 | 国产精品色婷婷在线观看 | 超大乳抖乳露双乳视频 | 欧美性狂猛bbbbbbxxxx | 成年人网站免费观看 | 成人涩涩网站 | 国产操女人 | 色综合久久久久久久久五月性色 | 国产乱辈通伦影片在线播放 | 国产福利午夜自产拍视频在线 | 成人三级影院 | 日本不卡一区视频 | 国产亚洲欧美日韩俺去了 | 日本暴力喉深到呕吐hd | 国产福利资源 | 两性色午夜视频免费老司机 | 亚洲一区毛片 | 免费日本黄色网址 | 婷婷久久久五月综合色 | h视频在线免费观看 | 新版天堂资源中文8在线 |