Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 创建数组问题。请帮忙_Java_Generics_Linked List - Fatal编程技术网

Java 创建数组问题。请帮忙

Java 创建数组问题。请帮忙,java,generics,linked-list,Java,Generics,Linked List,复制: 我想创建一个数组,该数组将保存整数类型的链接列表 import java.util.LinkedList; public class Test { public static void main(String [] args){ LinkedList<Integer> [] buckets = new LinkedList<Integer>[10]; } } import java.util.LinkedLi

复制:

我想创建一个数组,该数组将保存整数类型的链接列表

import java.util.LinkedList;

public class Test {

    public static void main(String [] args){

        LinkedList<Integer> [] buckets = new LinkedList<Integer>[10];       

    }
}
import java.util.LinkedList;
公开课考试{
公共静态void main(字符串[]args){
LinkedList[]bucket=新建LinkedList[10];
}
}
我得到一个错误,说: 无法创建LinkedList的通用数组


为什么会这样?这个问题可以解决吗?

泛型和旧数组不太合拍(这个主题在这里和其他地方已经做了很多次了)。使用列表的(数组)列表。

您可以使用其他列表类型将其包装,例如:

ArrayList<LinkedList<Integer>> buckets = new ArrayList<LinkedList<Integer>>();
ArrayList bucket=new ArrayList();
试试看

List[]bucket=newlinkedlist[10];

我不知道为什么Java不允许在数组上使用泛型,因为你可以将泛型放在右边(尽管这样会给出一个未检查的警告)

因为数组是具体化的(runtine行为),泛型在编译器上使用类型擦除。我不明白为什么编译器不能检查泛型类型匹配,否则就当它不在那里一样对待它。
List<Integer> [] buckets = new LinkedList[10];