泛型可能引起的错误

Posted zhlblogs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了泛型可能引起的错误相关的知识,希望对你有一定的参考价值。

1.

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

2.

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

3.

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

以上是关于泛型可能引起的错误的主要内容,如果未能解决你的问题,请参考以下文章

带有泛型的 WPF 自定义控件 - 可能吗?

这可能由 CredSSP 加密 oracle 修正引起的。

泛型 Generic 类型擦除引起的问题及解决方法

inject-dart 无法快照构建脚本 .dart_tool/build/entrypoint/build.dart。这可能是由错误配置的构建器定义引起的

是否所有死锁都是由错误查询引起的

Maven打包泛型相关错误,找不到对应的签名方法