任何人都能告诉我作业是否属于l4& l5是对的,为什么? e.g
ArrayList
和List
实施Serializable
界面。
ArrayList<String> list1 = new ArrayList<String>();
ArrayList<? super Serializable> l4 = list1 ;
ArrayList<Serializable> l5 = list1 ;
String
是一个实现Serializable
接口的类,然后String被称为“Serializable
的子类型”或“Serializable
的类型”?
由于
答案 0 :(得分:4)
两者都不正确。
第4行无效,因为String
不是Serializable
的超类型,而是子类型。
第5行无效,因为ArrayList<String>
不是ArrayList<Serializable>
的子类型。
这会有效:
ArrayList<? extends Serializable> l6 = list1; // because String implements Serializable
List<String> l7 = list1; // because ArrayList implements List
List<? extends Serializable> l8 - list1; // both of the above