泛型可能引起的错误

1.

当把一个原始类型的变量(如List变量list1,假设存入几个字符串)赋给带泛型信息的变量(如List<Integer>list2)时,会有一个潜在的问题:jvm会把集合中盛装的所有元素都当成Integer来处理,如果只是简单的遍历输出可能没有问题,但如果需要对元素进行操作,比如把list2的第一个元素赋值给一个integer变量时,此时编译没有问题,但运行时则会报错(类型转换错误)

2.

原始类型带来的擦除当把一个具有泛型信息的对象赋值给另外一个没有反省信息的变量时,所有在尖括号之间的泛型信息都将被丢弃。记住:是所有的不仅仅是这个对象的泛型信息,还有对象内部属性的泛型信息都会被擦除。

3.

jdk虽然支持泛型,但是不允许创建泛型数组!

posted on 2018-06-28 23:23  永不宕机  阅读(197)  评论(0编辑  收藏  举报

导航