Re: [問題] 關於泛型 資料型態的疑問

作者: JustinHere (良葛格)   2015-05-28 18:33:04
※ 引述《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();
也就是不會用到泛型資訊 …
作者: dreamnook (亞龍)   2015-05-29 10:30:00
那看來我的理解沒錯XD
作者: AI3767 (AIIA)   2015-05-31 11:59:00
推薦一篇官方不錯的泛型觀念文章 http://www.oracle.com/technetwork/java/javase/generics-tutorial-159168.pdf

Links booklink

Contact Us: admin [ a t ] ucptt.com