【发布时间】:2017-06-13 02:28:41
【问题描述】:
我有一个代码,它的MCVE是这样的
import java.util.LinkedList;
public class Test
{
LinkedList<Node>[] arr;
Test(){
arr = new LinkedList<Node>[4];
}
public static void main(){
}
}
class Node{
}
我在哪里得到这个错误
error: generic array creation
arr = new LinkedList<Node>[4];
^
我查找错误并找到了这两个帖子 How to create a generic array in Java? 和Error: Generic Array Creation
但我不明白泛型数组是什么。我猜(从我从两篇文章中得到的)这意味着数组不知道它将存储什么类型,但在我的情况下,数组被指定为LinkedList<Node> 类型。
有人能解释一下这个概念吗?
【问题讨论】:
-
阅读this answer,尤其是创建一个List
[]类型的数组怎么样? 部分 -
@JoeClay
LinkedList<Node>[]有什么问题?你怎么知道 OP 不打算有一个列表数组? -
@JoeClay 我不明白你的意思。 arr 是节点链表的数组。所以
new LinkedList<Node>[4]对我来说似乎是正确的。删除括号不会只创建一个节点链表吗? -
啊,我无法从您的问题中看出您是否混淆了语法,或者您是否真的打算拥有一个列表数组。我的错!