導航:首頁 > 編程語言 > 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相關的資料

熱點內容
喝什麼茶能緩解壓抑 瀏覽:865
u命令無法打開 瀏覽:960
vue編譯後的js能爬嗎 瀏覽:453
解壓骰子推薦3代 瀏覽:749
安卓手機劃線密碼忘了怎麼解鎖 瀏覽:309
精美角度主圖指標源碼 瀏覽:278
程序員編程函數需要特別好嗎 瀏覽:181
fue加密毛發怎麼樣 瀏覽:929
網上考學歷app如何屏蔽 瀏覽:352
python矩陣庫 瀏覽:160
伺服器如何ping伺服器 瀏覽:281
雲伺服器雙機熱備怎麼做 瀏覽:98
安卓果盤高清帳號是什麼帳號 瀏覽:548
蘋果解激活鎖什麼叫伺服器解鎖 瀏覽:596
用海綿寶寶做解壓的東西 瀏覽:192
大pdf文件免費轉word 瀏覽:792
如何侵入ftp伺服器 瀏覽:192
智行app如何查詢學生票使用次數 瀏覽:736
程序員幾年後開始有前途 瀏覽:126
發微博伺服器數據異常什麼意思 瀏覽:233