首页 > Java > java教程 > 正文

为什么我无法在 Java 中创建 LinkedList 数组以及如何修复它?

Susan Sarandon
发布: 2024-10-27 07:31:29
原创
929 人浏览过

Why Can't I Create an Array of LinkedLists in Java and How Do I Fix It?

在 Java 中创建 LinkedList 数组

在 Java 中,尝试创建 LinkedList 数组时会出现问题。当声明像 private LinkedList[] myMatrix 这样的数组时,预计可以使用以下行分配数组:myMatrix = new LinkedList[numRows]。然而,此策略会导致错误,指出 LinkedList 的通用数组无法创建。

这会引发两个问题:

  1. 导致这种情况的错误是什么?
  2. 为什么在数组声明中允许使用 LinkedList 类型,如果它无法创建?

需要注意的是,在这个场景中IntegerNode是一个用户定义的类。

解决方案

解决方案解决这个问题的方法是在声明中转换类型以允许创建数组。修改后的声明应该是:

myMatrix = (LinkedList<IntegerNode>[]) new LinkedList<?>[numRows];
登录后复制

说明

在Java中,不直接支持泛型数组。相反,使用原始类型(即没有类型参数的类型)。类型转换允许编译器推断数组的正确泛型类型。

因此,声明中的类型 LinkedList[] 是允许的,即使它不能直接创建。这是因为编译器将其视为原始类型,由程序员将其转换为所需的特定泛型类型。

以上是为什么我无法在 Java 中创建 LinkedList 数组以及如何修复它?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!