最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Java中List add添加不同類型元素的講解

 更新時(shí)間:2019年03月25日 14:48:42   作者:雙斜杠少年  
今天小編就為大家分享一篇關(guān)于java的List add不同類型的對(duì)象,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧

問題:

今天看java的list ,list后面的<> 里面可以填多種類型,但是如果不填寫類型那就默認(rèn)為 Object 類型。 所有我門 add 到 list 里的 數(shù)據(jù)都會(huì)被轉(zhuǎn)換成 Object 類型。

而當(dāng)我門再從list 中取出該數(shù)據(jù)時(shí),就會(huì)發(fā)現(xiàn)數(shù)據(jù)類型已經(jīng)改變。

解答

java集合中 能添加不同類型的元素其實(shí)不同類型的元素,只是地一定層次是不同元素,根本上都繼承于Object類,本質(zhì)上還是同一類型的元素。

List<Object> list = new ArrayList<Object>();
list.add("abc");
list.add(123);
list.add(new HashMap<Integer,String>());

都可以。

或者說你聲明集合時(shí),不聲明它的泛型類型如:

List list = new ArrayList();

它默認(rèn)就是Object泛型的,跟上面的List<Object>效果一樣。

Object類是所有Java類的祖先。每個(gè)類都使用 Object 作為超類。所有對(duì)象(包括數(shù)組)都實(shí)現(xiàn)這個(gè)類的方法。

在不明確給出超類的情況下,Java會(huì)自動(dòng)把Object作為要定義類的超類。

可以使用類型為Object的變量指向任意類型的對(duì)象。

在Java中由于繼承和向上轉(zhuǎn)型,子類可以非常自然地轉(zhuǎn)換成父類,但是父類轉(zhuǎn)換成子類則需要強(qiáng)制轉(zhuǎn)換。因?yàn)樽宇悡碛斜雀割惛嗟膶傩?、更?qiáng)的功能,所以父類轉(zhuǎn)換為子類需要強(qiáng)制。那么,是不是只要是父類轉(zhuǎn)換為子類就會(huì)成功呢?其實(shí)不然,他們之間的強(qiáng)制類型轉(zhuǎn)換是有條件的。

由于以上的原因 我門存入 list 的不同類型的對(duì)象都可以 自然的轉(zhuǎn)換成Object 類型,但是取出的時(shí)候都需要強(qiáng)制轉(zhuǎn)換。

示例

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,謝謝大家對(duì)腳本之家的支持。如果你想了解更多相關(guān)內(nèi)容請(qǐng)查看下面相關(guān)鏈接

相關(guān)文章

  • java實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼

    java實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼

    這篇文章主要為大家詳細(xì)介紹了java實(shí)現(xiàn)發(fā)送短信驗(yàn)證碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-07-07
  • Protostuff序列化和反序列化的使用說明

    Protostuff序列化和反序列化的使用說明

    今天小編就為大家分享一篇關(guān)于Protostuff序列化和反序列化的使用說明,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-04-04
  • 深入JVM剖析Java的線程堆棧

    深入JVM剖析Java的線程堆棧

    這篇文章主要介紹了深入JVM剖析Java的線程堆棧,Java中的堆內(nèi)存和堆棧原理的應(yīng)用等知識(shí)是深入學(xué)習(xí)Java的重點(diǎn),需要的朋友可以參考下
    2015-07-07
  • Java中不得不知的Collection接口與Iterator迭代器

    Java中不得不知的Collection接口與Iterator迭代器

    這篇文章主要介紹了Java中的Collection接口與Iterator迭代器,文中有詳細(xì)的代碼示例供大家參考,對(duì)我們的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2023-06-06
  • SpringBoot創(chuàng)建自定義starter詳解

    SpringBoot創(chuàng)建自定義starter詳解

    這篇文章主要介紹了SpringBoot創(chuàng)建自定義starter詳解,Starter是Spring Boot中的一個(gè)非常重要的概念,Starter相當(dāng)于模塊,它能將模塊所需的依賴整合起來并對(duì)模塊內(nèi)的Bean根據(jù)環(huán)境(條件)進(jìn)行自動(dòng)配置,需要的朋友可以參考下
    2024-01-01
  • Java利用哈夫曼編碼實(shí)現(xiàn)字符串壓縮

    Java利用哈夫曼編碼實(shí)現(xiàn)字符串壓縮

    赫夫曼編碼也翻譯為?哈夫曼編碼(Huffman?Coding),又稱霍夫曼編碼,是一種編碼方式,?屬于一種程序算法。本文將利用哈夫曼樹實(shí)現(xiàn)哈夫曼編碼進(jìn)行字符串壓縮,需要的可以參考一下
    2022-09-09
  • Spring Security基于HttpRequest配置權(quán)限示例詳解

    Spring Security基于HttpRequest配置權(quán)限示例詳解

    這篇文章主要介紹了Spring Security基于HttpRequest配置權(quán)限示例詳解,我們?cè)谂渲弥信渲玫膗rl被封裝成RequestMatcher,而hasRole被封裝成AuthorityAuthorizationManager,本文結(jié)合示例代碼講解的非常詳細(xì),需要的朋友可以參考下
    2024-03-03
  • java?executor包參數(shù)處理功能?

    java?executor包參數(shù)處理功能?

    這篇文章主要介紹了java?executor包參數(shù)處理功能,sql語句中的參數(shù)賦值是有由executor包中的parameter子包完成的。parameter子包其實(shí)只有一個(gè)parameterHandler接口并且它定義了兩個(gè)方法,下面我們就來看詳細(xì)內(nèi)容吧,需要的朋友可以參考一下
    2022-02-02
  • Java使用備忘錄模式實(shí)現(xiàn)過關(guān)類游戲功能詳解

    Java使用備忘錄模式實(shí)現(xiàn)過關(guān)類游戲功能詳解

    這篇文章主要介紹了Java使用備忘錄模式實(shí)現(xiàn)過關(guān)類游戲功能,結(jié)合實(shí)例形式詳細(xì)分析了java備忘錄模式的概念、原理及其在過關(guān)類游戲中的具體應(yīng)用方法,需要的朋友可以參考下
    2018-04-04
  • freemarker簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    freemarker簡介_動(dòng)力節(jié)點(diǎn)Java學(xué)院整理

    FreeMarker是一個(gè)模板引擎,一個(gè)基于模板生成文本輸出的通用工具,使用純Java編寫,有興趣的可以了解一下
    2017-08-08

最新評(píng)論

铜陵市| 淄博市| 建德市| 裕民县| 皋兰县| 舟山市| 东至县| 宝清县| 靖江市| 偃师市| 阿坝县| 甘谷县| 科技| 和平区| 芮城县| 琼结县| 邢台县| 汪清县| 阜城县| 布尔津县| 冀州市| 阿拉善左旗| 清远市| 库伦旗| 海南省| 莫力| 洛阳市| 临湘市| 全椒县| 镇远县| 大足县| 辽阳县| 嘉义县| 桐乡市| 南乐县| 安龙县| 黎川县| 玛沁县| 宜良县| 英德市| 东港市|