我正在研究一个稀疏矩阵类,该类需要使用数组LinkedList来存储矩阵的值。数组的每个元素(即每个LinkedList)代表矩阵的一行。并且,LinkedList数组中的每个元素代表一列和存储的值。
在我的课程中,我将数组声明为:
private LinkedList [] myMatrix; 并且,在的构造函数中SparseMatrix,我尝试定义:
myMatrix = new LinkedList [numRows]; 我最终得到的错误是
无法创建的通用数组LinkedList 。
因此,我有两个问题:
我做错了什么 如果无法创建数组,为什么在数组的声明中可以接受该类型? IntegerNode是我创建的课程。而且,我所有的类文件都打包在一起。 问题来源于stack overflow
您不能使用通用数组创建。这是Java泛型的缺陷/功能。
没有警告的方式是:
使用列表列表而不是列表数组:
List< List > nodeLists = new LinkedList< List< IntegerNode >>(); 声明列表数组的特殊类:
class IntegerNodeList { private final List< IntegerNode > nodes; }
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。