大战熟女丰满人妻av-荡女精品导航-岛国aaaa级午夜福利片-岛国av动作片在线观看-岛国av无码免费无禁网站-岛国大片激情做爰视频

專注Java教育14年 全國咨詢/投訴熱線:400-8080-105
動力節(jié)點LOGO圖
始于2009,口口相傳的Java黃埔軍校
首頁 學(xué)習(xí)攻略 Java學(xué)習(xí) 互聯(lián)網(wǎng)面試常見Java泛型筆試題

互聯(lián)網(wǎng)面試常見Java泛型筆試題

更新時間:2020-09-08 17:04:26 來源:動力節(jié)點 瀏覽2707次

Java中的泛型是什么?使用泛型的好處是什么?

泛型是Java SE 1.5的新特性,泛型的本質(zhì)是參數(shù)化類型,也就是說所操作的數(shù)據(jù)類型被指定為一個參數(shù)。

好處:

1、類型安全,提供編譯期間的類型檢測

2、前后兼容

3、泛化代碼,代碼可以更多的重復(fù)利用

4、性能較高,用GJ(泛型Java)編寫的代碼可以為java編譯器和虛擬機帶來更多的類型信息,這些信息對java程序做進一步優(yōu)化提供條件。

Java的泛型是如何工作的?什么是類型擦除?如何工作?

1、類型檢查:在生成字節(jié)碼之前提供類型檢查

2、類型擦除:所有類型參數(shù)都用他們的限定類型替換,包括類、變量和方法(類型擦除)

3、如果類型擦除和多態(tài)性發(fā)生了沖突時,則在子類中生成橋方法解決

4、如果調(diào)用泛型方法的返回類型被擦除,則在調(diào)用該方法時插入強制類型轉(zhuǎn)換

類型擦除:

所有類型參數(shù)都用他們的限定類型替換:

比如T->Object?extends BaseClass->BaseClass

如何工作:

泛型是通過類型擦除來實現(xiàn)的,編譯器在編譯時擦除了所有類型相關(guān)的信息,所以在運行時不存在任何類型相關(guān)的信息。例如List<String>在運行時僅用一個List來表示。這樣做的目的,是確保能和Java 5之前的版本開發(fā)二進制類庫進行兼容。你無法在運行時訪問到類型參數(shù),因為編譯器已經(jīng)把泛型類型轉(zhuǎn)換成了原始類型。根據(jù)你對這個泛型問題的回答情況,你會得到一些后續(xù)提問,比如為什么泛型是由類型擦除來實現(xiàn)的或者給你展示一些會導(dǎo)致編譯器出錯的錯誤泛型代碼。

你可以把List傳遞給一個接受List參數(shù)的方法嗎?

 對任何一個不太熟悉泛型的人來說,這個Java泛型題目看起來令人疑惑,因為乍看起來String是一種Object,所以 List應(yīng)當(dāng)可以用在需要List的地方,但是事實并非如此。真這樣做的話會導(dǎo)致編譯錯誤。如果你再深一步考慮,你會發(fā)現(xiàn)Java這樣做是有意義的,因為List可以存儲任何類型的對象包括String, Integer等等,而List卻只能用來存儲String s。

ListobjectList;

List stringList;

objectList = stringList; //compilation error incompatible types

如何阻止Java中的類型未檢查的警告?

如果你把泛型和原始類型混合起來使用,例如下列代碼,java 5的javac編譯器會產(chǎn)生類型未檢查的警告,例如

List rawList = newArrayList()

注意: Hello.java使用了未檢查或稱為不安全的操作;

這種警告可以使用@SuppressWarnings(“unchecked”)注解來屏蔽。

Java中List和原始類型List之間的區(qū)別?

原始類型和帶參數(shù)類型之間的主要區(qū)別是,在編譯時編譯器不會對原始類型進行類型安全檢查,卻會對帶參數(shù)的類型進行檢查,通過使用Object作為類型,可以告知編譯器該方法可以接受任何類型的對象,比如String或Integer。

這道題的考察點在于對泛型中原始類型的正確理解。它們之間的第二點區(qū)別是,你可以把任何帶參數(shù)的類型傳遞給原始類型List,但卻不能把List傳遞給接受 List的方法,因為會產(chǎn)生編譯錯誤。

編寫一段泛型程序來實現(xiàn)LRU緩存?

對于喜歡Java編程的人來說這相當(dāng)于是一次練習(xí)。給你個提示,LinkedHashMap可以用來實現(xiàn)固定大小的LRU緩存,當(dāng)LRU緩存已經(jīng)滿了的時候,它會把最老的鍵值對移出緩存。

LinkedHashMap提供了一個稱為removeEldestEntry()的方法,該方法會被put() 和putAll()調(diào)用來刪除最老的鍵值對。當(dāng)然,如果你已經(jīng)編寫了一個可運行的JUnit測試,你也可以隨意編寫你自己的實現(xiàn)代碼。

互聯(lián)網(wǎng)面試常見Java泛型筆試題

以上就是動力節(jié)點Java培訓(xùn)機構(gòu)的小編針對“互聯(lián)網(wǎng)面試常見Java泛型筆試題”的內(nèi)容進行的回答,希望對大家有所幫助,如有疑問,請在線咨詢,有專業(yè)老師隨時為你服務(wù)。

提交申請后,顧問老師會電話與您溝通安排學(xué)習(xí)

免費課程推薦 >>
技術(shù)文檔推薦 >>
主站蜘蛛池模板: 久久久久久久久66精品片 | 亚洲一区二区三区中文字幕 | 啪啪网站色大全免费 | 欧美日韩亚洲国产 | jizzjizz中国护士第一次 | 日韩毛片网 | 日本a视频 | 在线观看自拍视频 | 成人在线免费视频 | 久久精品综合免费观看 | 久久99国产精品久久欧美 | 欧美日韩大片 | 欧美福利在线视频 | 亚洲国产一区二区三区a毛片 | 黄色影院在线观看视频 | 亚洲福利精品一区二区三区 | 久久精品国产免费看久久精品 | 中文字幕日韩女同互慰视频 | 久久久久夜色精品波多野结衣 | 色婷婷综合网 | 免费观看一级特黄三大片视频 | 欧美激情免费观看一区 | 日本三级11k影院在线 | 色拍拍欧美视频在线看 | 国产精品久久久亚洲第一牛牛 | 天天操天天插 | 模特视频一二三区 | 婷婷国产| 国产成人精品高清不卡在线 | 欧美日韩国产一区二区三区 | 天天射天天爽 | 午夜视频福利在线观看 | 我要看免费的毛片 | 欧美日韩亚洲精品一区二区三区 | 四虎成人精品在永久在线观看 | 欧美日韩亚洲精品一区 | 久草网在线 | 中文字幕一级毛片视频 | 爱爱小视频免费体验区在线观看 | 日韩综合nv一区二区在线观看 | 老司机午夜在线视频免费观 |