前言:Java1.5添加了范型(Generic)。没有范型之前,从集合中读取到的每一个对象都必须经过转换。如果这时候插入不符合类型的对象,运行就会报错。
有了范型之后,可以告诉编译器每个集合中接受那些参数,编译器会自动帮你的插入做转化。
相关术语:
1、范型:声明中有一个或者多个类型参数(type parameter)的类或者接口,称之为范型(Generic)或者接口。例如,Java1.5发行版起,List接口就只有单个类型参数E,表示列表的元素类型。
实践规范:
1、不要在Java1.5以后的代码中使用原生态类型:如果使用List这样的原生态类型,就会失去类型的安全性,但是如果使用List<Object>这样的参数化类型,则不会。总之,原生态类型是为了兼容性和互用性而提供的,比如Set<Object> 是个参数化类型,表示任何对象类型的集合。Set<?> 则是一个通配符,表示某种未知对象类型的集合。Set则是一个原生态类型,它脱离了范型系统的校验和约束,因此前面两种类型是安全的,而原生态类型不安全。