作者JustinHere (良葛格)
看板java
標題Re: [問題] 關於泛型 資料型態的疑問
時間Thu May 28 18:33:04 2015
※ 引述《dreamnook (亞龍)》之銘言:
: ※ 引述《noapaov (單身漢)》之銘言:
: : 但我在使用泛型的時候, 範例如下
: : ArrayList obj = new ArrayList<Integer>();
: : 其實等同 ArrayList<Object> obj = new ArrayList<Integer>();
: : 表示我可以加入任何的物件到obj裡面, 這時執行obj.add("test");
: : 編譯器沒有報錯我的理解是因為我宣告的是ArrayList<Object> obj,
: 使用Eclipse
: http://i.imgur.com/NrOe0bP.png
: 當用ArrayList<Object>來宣告時,Compiler Error
: http://i.imgur.com/JYkk73H.png
: 在我看來ArrayList obj不等同ArrayList<Object> obj...囧>
確實是不一樣的,因為 Java 不支援共變性,可以看我回的上一篇…
你要寫這樣才會過編譯器 …
ArrayList<? extends Object> lt = new ArrayList<Integer>();
其實寫 …
ArrayList lt = new ArrayList<Integer>();
應是只等於寫 …
ArrayList lt = new ArrayList();
也就是不會用到泛型資訊 …
--
良葛格學習筆記
http://openhome.cc
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 49.215.51.149
※ 文章網址: https://www.ptt.cc/bbs/java/M.1432809187.A.858.html
→ dreamnook: 那看來我的理解沒錯XD 05/29 10:30
→ AI3767: technetwork/java/javase/generics-tutorial-159168.pdf 05/31 11:59