Java中的泛型数组是什么?
我有一个代码,它的MCVE是这样的Java中的泛型数组是什么?,java,arrays,Java,Arrays,我有一个代码,它的MCVE是这样的 import java.util.LinkedList; public class Test { LinkedList<Node>[] arr; Test(){ arr = new LinkedList<Node>[4]; } public static void main(){ } } class Node{ } import java.util.LinkedLi
import java.util.LinkedList;
public class Test
{
LinkedList<Node>[] arr;
Test(){
arr = new LinkedList<Node>[4];
}
public static void main(){
}
}
class Node{
}
import java.util.LinkedList;
公开课考试
{
LinkedList[]arr;
测试(){
arr=新链接列表[4];
}
公共静态void main(){
}
}
类节点{
}
我从哪里得到这个错误
error: generic array creation
arr = new LinkedList<Node>[4];
^
错误:常规数组创建
arr=新链接列表[4];
^
我查找错误并找到了这两个帖子
及
但我不明白什么是泛型数组。我猜(从我从两篇文章中得到的信息)它意味着数组不知道它将存储什么类型,但在我的例子中,数组被指定为LinkedList
类型
有人能解释一下这个概念吗?请检查以下答案: 因为它有点大,我将在这里总结相关部分
LinkedList[]
是一个通用数组,因为它具有组件的通用类型。此构造的问题在于,您可以执行以下操作:
LinkedList<Node>[] listsOfNodes = new LinkedList<Node>[1];
Object[] items = listsOfNodes;
items[0] = new LinkedList<String>();
LinkedList[]listsOfNodes=新建LinkedList[1];
对象[]项=列表节点;
items[0]=新建LinkedList();
因此在这一点上,
listsOfNodes[0]
应该具有类型LinkedList
的节点将是LinkedList
Read的一个实例,尤其是创建一个类型为List[]的数组怎么样?part@JoeClayLinkedList[]
有什么问题吗?你怎么知道OP不打算有一系列的列表?@JoeClay我不明白你的意思。arr是节点的LinkedList数组。因此,新链接列表[4]
对我来说似乎是正确的。删除括号不会只创建一个节点链接列表吗?啊,我无法从你的问题中判断你是否把语法弄混了,或者你是否真的打算创建一个列表数组。我的错!