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

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

Java泛型:列表,列表<對象>,列表<?>

Java泛型:列表,列表<對象>,列表<?>

瀟瀟雨雨 2019-10-20 16:12:35
Java泛型:列表,列表<對象>,列表<?>有人能盡可能詳細地解釋以下類型之間的區(qū)別嗎?ListList<Object>List<?>讓我說得更具體些。我什么時候想用// 1 public void CanYouGiveMeAnAnswer(List l) { }// 2public void CanYouGiveMeAnAnswer(List<Object> l) { }// 3public void CanYouGiveMeAnAnswer(List<?> l) { }
查看完整描述

3 回答

?
神不在的星期二

TA貢獻1963條經(jīng)驗 獲得超6個贊

用我自己簡單的話說:


列單


將聲明一個普通集合,可以保存任何類型,并將始終返回對象。


列表<Object>


將創(chuàng)建一個列表,該列表可以容納任何類型的對象,但只能分配另一個對象。列表<Object>


例如,這是行不通的;


List<Object> l = new ArrayList<String>();

當(dāng)然,您可以添加任何東西,但只能拉動對象。


List<Object> l = new ArrayList<Object>();


l.add( new Employee() );

l.add( new String() );


Object o = l.get( 0 );

Object o2 = l.get( 1 );

最后


列表<?>


將允許您分配任何類型,包括


List <?> l = new ArrayList(); 

List <?> l2 = new ArrayList<String>();

這將被稱為未知數(shù)既然共同的分母未知數(shù)是您將能夠獲取對象的對象(巧合)。


.的重要性未知數(shù)當(dāng)它與子類一起使用時:


List<? extends Collection> l = new ArrayList<TreeSet>(); // compiles


List<? extends Collection> l = new ArrayList<String>(); // doesn't,

// because String is not part of *Collection* inheritance tree. 

我希望使用集合作為類型不會造成混亂,這是我唯一想到的樹。


這里的區(qū)別是,我是不知道屬于收藏等級制度。



查看完整回答
反對 回復(fù) 2019-10-21
  • 3 回答
  • 0 關(guān)注
  • 361 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號

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