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