首页  >  文章  >  Java  >  如何在 Java 中创建 LinkedList 数组:克服类型擦除?

如何在 Java 中创建 LinkedList 数组:克服类型擦除?

Linda Hamilton
Linda Hamilton原创
2024-10-28 02:43:02835浏览

 How to Create an Array of LinkedLists in Java: Overcoming Type Erasure?

Java 中的 LinkedList 数组:创建和陷阱

尝试在 Java 中创建 LinkedList 数组时,开发人员可能会遇到错误,指出不允许使用 LinkedList 的通用数组。出现此问题的原因是语言的类型擦除,解决方案涉及在创建过程中转换数组类型。

在提供的代码中,将数组 myMatrix 声明为 private LinkedList[] 是有效的,如下所示Java 允许在声明中使用泛型类型。然而,在实例化过程中,编译器意识到它无法创建具体类的数组(此处为 LinkedList)。

要解决此问题,代码必须在创建过程中将数组类型强制转换为泛型类型。正确的语法是:

<code class="java">myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];</code>

通过转换为泛型类型(在本例中为 LinkedList>),编译器被告知该数组可以保存任何类型的 LinkedList。这使得实例化能够成功完成。

值得注意的是,Java 中的类型擦除意味着存储在数组中的特定类型的对象在运行时丢失。这意味着数组可以保存不同类型的 LinkedList,但它不会有类型信息来区分它们。

以上是如何在 Java 中创建 LinkedList 数组:克服类型擦除?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn