導航:首頁 > 編程語言 > java泛型extends

java泛型extends

發布時間:2025-01-21 19:53:19

java 泛型。為什麼List < extends Number> list 只能添加null

這個java中的通配符「上界」「下界」有關。
上界<? extends Number>規定:只能取(get),不能添加(add)。
下界<? super Number>規定:不能取(get),只能添加(add)。
現在試想一下你的例子,List<? extends Number> list = new ArrayList<>()
Java中是強類型的,就是說任何變數在具體使用時,必須明確類型。上述list在定義時,表述其中的每一項值都是Number本身或者是其子類,但是在add時(list.add( new Long(1) ) 看似沒錯),但編譯器它卻不知道這個list到底放的是啥類型,有可能是ArrayList<Short>,ArrayList<Test> 等,因為不確定所以就不允許你add一個long或者short。
從這個list定義中,在獲取值時,編譯器知道的是裡面放的是Number類型或者是其子類型值,因此Number n = (Number)list.get(0), Long l = (Long)list.get(0)可以編譯通過。

閱讀全文

與java泛型extends相關的資料

熱點內容
如何app搭建伺服器 瀏覽:844
javastringblob 瀏覽:295
王瑤pdf 瀏覽:857
開掛軟體顯示請連接伺服器地址 瀏覽:916
蘋果怎麼下載安卓倩女 瀏覽:584
vip藍光視頻解析網站源碼 瀏覽:940
伺服器ps1ps2是什麼意思 瀏覽:858
seo命令 瀏覽:866
可代理雲伺服器 瀏覽:973
本地伺服器連接失敗是什麼意思 瀏覽:866
華為平板如何將應用app分身 瀏覽:897
微信顯示無法連接到伺服器1302什麼意思 瀏覽:625
java有哪些函數 瀏覽:752
隨遇app怎麼收費 瀏覽:203
如何將家用電腦做伺服器外網 瀏覽:805
命令方塊如何設置有條件 瀏覽:585
基於雲伺服器的井下監控裝置 瀏覽:786
程序員頸椎變形 瀏覽:656
android登陸伺服器 瀏覽:426
我的世界為什麼顯示無法連接至伺服器 瀏覽:981