无法在 Java 中实例化 LinkedList 数组
在此主题中,开发人员在尝试用 Java 创建 LinkedList 数组时遇到了挑战将值存储在稀疏矩阵中。错误消息“无法创建 LinkedList
此错误的根本原因是什么?
根本原因在于 Java 对创建泛型数组的限制非原始类型。泛型是 Java 5 中引入的类型安全机制,用于防止运行时 ClassCastException。当声明泛型类型数组时,例如 LinkedList
为什么该类型在数组声明中可接受,但在创建时不可接受?
数组声明使用原始类型 LinkedList[],它不指定泛型类型参数。原始类型是无类型的,并且不强制类型安全。然而,在实例化数组时,编译器要求提供特定的类型参数,这就是错误发生的地方。
解决方案:
要解决此问题,必须执行类型转换。更正后的代码应如下所示:
myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
强制转换 (LinkedList
以上是为什么我无法在 Java 中创建 LinkedList 数组?的详细内容。更多信息请关注PHP中文网其他相关文章!