第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會有你想問的

請教一個(gè)java泛型的問題

請教一個(gè)java泛型的問題

搖曳的薔薇 2019-02-18 03:24:20
有如下代碼:方法test參數(shù)是需要C類,但是因?yàn)锽類繼承C,所以我傳B是OK的。 public class A { public static void main(String[] args){ B b = new B(); test(b); } private static void test(C c){ } } class B extends C{ } class C{ } 但是如下代碼卻不行,不理解? import java.util.ArrayList; import java.util.List; public class A { public static void main(String[] args){ List<B> b = new ArrayList<>(); test(b); } private static void test(List<C> c){ } } class B extends C{ } class C{ } 這時(shí)候會報(bào)錯(cuò): test (java.util.List<com.test.Extends.C>) in A?cannot be applied to (java.util.List<com.test.Extends.B>) ? 實(shí)在不理解,請大家指教。如果我就要傳集合,有什么辦法嗎?
查看完整描述

5 回答

?
繁星coding

TA貢獻(xiàn)1797條經(jīng)驗(yàn) 獲得超4個(gè)贊

參數(shù)修改為

 private static void test(List<? extends C> c){

 }

解決你的問題。

為什么直接類可以:

這是普通的繼承關(guān)系,自然沒問題

為什么集合不可以:

這是類型轉(zhuǎn)換,是兩碼事。

查看完整回答
反對 回復(fù) 2019-03-01
?
茅侃侃

TA貢獻(xiàn)1842條經(jīng)驗(yàn) 獲得超21個(gè)贊

基礎(chǔ)的知識層主Java泛型,還是需要多看看書Java編程思想等,一句話:泛型是不具有繼承性的,Java類的多態(tài)性不能強(qiáng)行安插到泛型上。

查看完整回答
反對 回復(fù) 2019-03-01
?
一只名叫tom的貓

TA貢獻(xiàn)1906條經(jīng)驗(yàn) 獲得超3個(gè)贊

你爸爸的財(cái)產(chǎn)你可以繼承,你爸爸的公司的財(cái)產(chǎn)不能被你的公司繼承,也就不存在多態(tài)性了。

查看完整回答
反對 回復(fù) 2019-03-01
?
鳳凰求蠱

TA貢獻(xiàn)1825條經(jīng)驗(yàn) 獲得超4個(gè)贊

繼承和類型轉(zhuǎn)換是兩碼事,應(yīng)該這樣聲明:、
private static void test(List<? extends C> c) { }

查看完整回答
反對 回復(fù) 2019-03-01
  • 5 回答
  • 0 關(guān)注
  • 493 瀏覽

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號