在线观看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原則
    主站蜘蛛池模板: 99色综合 | 亚洲成人自拍 | 久久亚洲精品国产亚洲老地址 | 婷婷丁香五月中文字幕 | 天天拍夜夜添久久精品免费 | 成人网18免费下 | 干得好爽| 亚洲 欧美 综合 | 免费观看视频网站 | 午夜精品福利在线 | 二级特黄绝大片免费视频大片 | 欧美黑粗特黄午夜大片 | 男男h文小说阅 | 黄色hd| 男女网站在线观看 | 国内a级毛片免费··· | 欧美人成a视频www | 五月婷婷丁香在线视频 | 免费看曰批女人爽的视频网址 | 日本理论在线观看被窝网 | 国产三级久久久精品三级 | 激情综合五月网 | 青草青青产国视频在线 | 奇米小说| 一级视频在线播放 | 美女视频黄又黄又免费高清 | 开心色99×xxxx| 天堂网2021天堂手机版丶 | 美女牲交毛片一级视频 | 68日本xxxⅹxxxxx18 | 久久国产乱子伦精品免费强 | videosgratis乱色欧美野外 | 亚洲精品资源 | 色天天综合久久久久综合片 | 亚洲人在线| 大胆国模一区二区三区伊人 | 婷婷日日夜夜 | 国产精品久久久久久吹潮 | 2021国产精品午夜久久 | 五月婷婷色综合 | 欧美日韩一日韩一线不卡 |