摘要: 数组与泛型相比,有两个重要的不同点。数组是协变的(如果Sub是Super的子类型,那么数组类型Sub[]是Super[]的子类型),相反,泛型是不可变得,对于任意两个不同的类型T1和T2,List<T1>和List<T2>没有子类型或超类型的关系。 一段代码: 会有一条警告,编译器无法再编译时知道E 阅读全文
posted @ 2016-07-29 17:21 没有梦想的小灰灰 阅读(386) 评论(0) 推荐(0) 编辑
摘要: 用泛型编程时,会遇到许多编译器警告:非受检强制转化警告(unchecked cast warning)、非受检方法调用警告、非受检普通数组创建警告、非受检转换警告。 许多非受检警告很容易消除,如: 编译器提醒你 HashSet is a raw type. References to generic 阅读全文
posted @ 2016-07-29 15:17 没有梦想的小灰灰 阅读(187) 评论(0) 推荐(0) 编辑
摘要: Java 1.5发行版本增加了泛型。在没有泛型之前,从集合中读取到的每一个对象都必须进行显式转换,一旦插入了类型错误的对象,在运行时出错才被发现。有了泛型之后,就可以告诉编译器每个集合中接受哪些对象类型,编译器会自动进行转换,并在编译时告知是否插入类型错误的对象。 泛型指声明中具有一个或者多个类型参 阅读全文
posted @ 2016-07-29 14:47 没有梦想的小灰灰 阅读(677) 评论(0) 推荐(0) 编辑