在集合中使用泛型之前的情况
用到的方法add(Object o)
ArrayList list = new ArrayLIst();
//需求:存放学生成绩
list.add(78);
list.add(97);
//问题一:类型不安全
list.add(“Tom”);
//问题二:强转时,可能出现ClassCastException
for(Object score : list) { int stuScore = (Integer) score; System.out.println(stuScore); }
//在集合中使用泛型
public void test2() { ArrayListList = new ArrayList (); list.add(78); list.add(97);
//编译时,就会进行类型检查。保证数据安全
list.add(“Tom”);
for(Integer score : list) { int stuScore = score; System.out.println(stuScore); }
总结:
1.集合接口或集合类在jdk5.0时都修改为带泛型的结构
2.在实例化集合类时,可以指明具体的泛型类型
3.指明完以后,在集合类或接口中凡是定义类或接口时,内部结构(比如方法,构造器, 属性)使用到类的泛型的位置, 都自动指定为实例化时的泛型类型
比如:add(E e) —>实例化以后: add(Integer e)
4.**注意点:**泛型的类型必须是类,不能是基本数据类型
5.如果实例化时,没有指明泛型的类型,默认类型为java.lang.Object类型
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)