Java 列表之间的差异<;?扩展A>;和列表<;A>;
多年来,我一直在试图弄清楚aJava 列表之间的差异<;?扩展A>;和列表<;A>;,java,generics,collections,Java,Generics,Collections,多年来,我一直在试图弄清楚aListaListaList之间到底有什么区别,如果你有B级扩展了a,那么 你可以做: List<? extends A> myList = new ArrayList<B>(); 因为List是一个泛型类型为a的列表 因此,如果您有一个列表,您就知道它的泛型类型正是a,因此您可以将a的任何实例放入其中 如果您有B类扩展A,则 你可以做: List<? extends A> myList = new ArrayList<B&
ListaListaList之间到底有什么区别,如果你有B级扩展了a
,那么
你可以做:
List<? extends A> myList = new ArrayList<B>();
因为List
是一个泛型类型为a
的列表
因此,如果您有一个列表
,您就知道它的泛型类型正是a
,因此您可以将a
的任何实例放入其中 如果您有B类扩展A
,则
你可以做:
List<? extends A> myList = new ArrayList<B>();
因为List
是一个泛型类型为a
的列表
因此,如果您有一个列表
,您就知道它的泛型类型正是a
,因此您可以将a
的任何实例放入其中 也请注意,您不能new ArrayList。请注意,您不能new ArrayList