最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

Java List能存字符串對象嗎?

2023-03-12 16:31 作者:我有一個壞前桌  | 我要投稿

IDEA分享:idea破解篇

Navicat分享:Navicat破解篇


背景

今天在寫代碼時(shí),想到一個有趣的面試題,List<Integer>能存String對象嗎?

粗看好像問了一個Java語法相關(guān)的知識點(diǎn),其實(shí)我想考的是你對Java泛型的理解。

回答不能,那么可以說對Java泛型幾乎是沒有理解,而僅僅回答能,也是遠(yuǎn)遠(yuǎn)不夠的。

一、怎么存?

首先來講講怎么存,話不多說,直接上代碼,也不復(fù)雜大家都能看懂。

我們通過反射來實(shí)現(xiàn),最終打印輸出的內(nèi)容是[1, String],是不是有點(diǎn)匪夷所思。當(dāng)然這里需要提一點(diǎn),直接通過add方法來添加"String"字符串對象,顯然是不可行的。

或許回答不能的,這個結(jié)論應(yīng)該從這里來,市面上的idea在編寫時(shí)也都會報(bào)錯。

二、為什么能存?

關(guān)鍵點(diǎn)來了,我所期望的是面試者能提出泛型擦除,與Java的泛型只在編譯期生效。

簡單整個筆試可能出現(xiàn)的題,或許又能加深你對它的印象。

接著問,以下兩個方法能否定義在同一個類的成員方法中,

顯然也是不能的,另外有一點(diǎn)我可能還會問一下,以上代碼入?yún)⒁恢碌脑捠遣皇欠椒ǖ闹剌d?顯然也不是,方法的重載不考慮返回值


三、泛型存在的意義?

緊接著,又一個關(guān)鍵點(diǎn)來了,既然有擦除那么泛型存在的意義是?

1、泛型避免了代碼在運(yùn)行時(shí)才發(fā)現(xiàn)問題,例如上章節(jié)的例子。

2、如果都是使用Object基類替代,使用時(shí)需要強(qiáng)轉(zhuǎn),泛型減少了ClassCastException發(fā)生。

3、減少來自強(qiáng)制類型轉(zhuǎn)換的性能消耗。


轉(zhuǎn)載原作者鏈接:mp.weixin.qq.com/s/nYp_7t83LC9U4Iu3DSar4Q

更多優(yōu)秀文章,請通過一下獲取

kdocs.cn/l/cg7vXzuZCKlM



Java List能存字符串對象嗎?的評論 (共 條)

分享到微博請遵守國家法律
泉州市| 灵丘县| 文安县| 青岛市| 益阳市| 濮阳市| 鄂伦春自治旗| 波密县| 佛山市| 宜黄县| 壶关县| 神木县| 桐柏县| 临漳县| 普安县| 东乡县| 板桥市| 平果县| 二连浩特市| 怀化市| 文成县| 清镇市| 南召县| 成都市| 隆化县| 万年县| 贺兰县| 山东省| 霍山县| 海南省| 衡水市| 怀来县| 安义县| 钟祥市| 定边县| 剑河县| 莎车县| 肇庆市| 吉木乃县| 乐陵市| 文昌市|