欧美性猛交xxxx免费看_牛牛在线视频国产免费_天堂草原电视剧在线观看免费_国产粉嫩高清在线观看_国产欧美日本亚洲精品一5区

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

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

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

Java泛型的工作原理和案例

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

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

案例1:建立CollectionTest1類,實例化ArrayList對象,在list集合添加String對象。

在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)迭代集合中對象

while (iterator.hasNext()) {

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

System.out.println(str);

}

}

}

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

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

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

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

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

    關(guān)注

    19

    文章

    2976

    瀏覽量

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

    關(guān)注

    0

    文章

    5

    瀏覽量

    1975
  • string
    +關(guān)注

    關(guān)注

    0

    文章

    40

    瀏覽量

    4749
收藏 人收藏

    評論

    相關(guān)推薦

    詳解Rust的

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

    Java的背景和作用

    Java的背景和作用 JavaJava編程
    的頭像 發(fā)表于 09-20 14:30 ?1154次閱讀
    <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ū)動,利用labview中的.net控件調(diào)用相關(guān)函數(shù),但是驅(qū)動中有部分函數(shù)在類中, labview能調(diào)用c#中的
    發(fā)表于 04-08 13:38

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

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

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

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

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

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

    閥的工作原理

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

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

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

    java 編程

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

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

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

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

    本文講的是徹底理解引用在Android和Java中的工作原理,引用指向了一個對象,你能通過引用訪問對象。Java默認有4種類型的引用:強引用(StrongReference)、軟引用(SoftReference)、弱引用(Wea
    發(fā)表于 11-27 08:55 ?1298次閱讀
    "引用"在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原則

    元素?”的問題,也會出現(xiàn)感嘆Java限制太多了很難用的情況。 為了更好的使用,就需要更深地了解它,因此本文主要介紹
    的頭像 發(fā)表于 11-21 11:45 ?229次閱讀
    深入了解<b class='flag-5'>Java</b><b class='flag-5'>泛</b><b class='flag-5'>型</b>——從前世今生到PECS原則