亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

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

List與ArrayList

List與ArrayList

元芳怎么了 2019-03-20 11:19:29
List<Sting> list =new ArrayList<>();和List<Sting> list =new ArrayList<String>();兩者有何區別?
查看完整描述

4 回答

?
慕哥9229398

TA貢獻1877條經驗 獲得超6個贊

沒啥區別。。數據類型的指定是在List<String>時候進行的。

JDK 1.7 的特性里增加了對類型推斷的支持。

增強的對通用實例創建(diamond)的類型推斷

  類型推斷是一個特殊的煩惱,下面的代碼: 
     Map<String, List<String>> anagrams = new HashMap<String, List<String>>(); 

  通過類型推斷后變成: 
     Map<String, List<String>> anagrams = new HashMap<>(); 
  這個<>被叫做diamond(鉆石)運算符,這個運算符從引用的聲明中推斷類型。


查看完整回答
反對 回復 2019-04-23
?
慕碼人2483693

TA貢獻1860條經驗 獲得超9個贊

沒有區別, jdk1.7開始可以省略右邊尖括號內的String。
(通過聲明內的泛型來推測右邊, 所以就不需要了。)

查看完整回答
反對 回復 2019-04-23
?
收到一只叮咚

TA貢獻1821條經驗 獲得超5個贊

如果是你表達的


List<Sting> list =new ArrayList<>();

List<Sting> list =new ArrayList<String>();

這兩個沒啥區別,上面一個ArrayList同樣會自動轉換成String的泛型,list可存取的數據類型只能是String類型。而如果你的第一行代碼改成


List list = new ArrayList();

這樣就有很大的區別,list存取的數據類型是沒有固定的,你可以存取String,Integer甚至Object類型。


查看完整回答
反對 回復 2019-04-23
?
藍山帝景

TA貢獻1843條經驗 獲得超7個贊

第一個在jdk1.7之后才行,否則編譯錯誤,后一個在1.7之前的寫法,當然,1.7之后也可以這么寫


查看完整回答
反對 回復 2019-04-23
  • 4 回答
  • 0 關注
  • 467 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號