Java 为什么列表?
我的代码是:Java 为什么列表?,java,super,Java,Super,我的代码是: List<? super myclass> test_list = new ArrayList<Object>(); .... myclass m; m = test_list.get(i); 简而言之,对象不是myclass:myclass扩展了对象i.o.w.,对象是myclass的超类 如果你有 List<? extends myclass> test_list = new ArrayList<Object>()
List<? super myclass> test_list = new ArrayList<Object>();
....
myclass m;
m = test_list.get(i);
简而言之,对象不是myclass:myclass扩展了对象i.o.w.,对象是myclass的超类 如果你有
List<? extends myclass> test_list = new ArrayList<Object>();
List<Object> test_list = new ArrayList<myclass>();
你会有一个编译失败。如果你有
List<? extends myclass> test_list = new ArrayList<Object>();
List<Object> test_list = new ArrayList<myclass>();
它可以编译,但需要显式转换。你所拥有的是如果你眯着眼睛想:
List<Object> test_list = new ArrayList<Object>();
因为List可能比List更一般,所以您已显式声明该List属于某种类型,它是myclass的超类型:
我想你想要List@Taylor:谢谢你,我想这是一件新鲜事
List<? super myclass> test_list = new ArrayList<Object>();
List<? extends myclass> test_list = new ArrayList<myclass>();