好的,所以我一直在阅读关于创建一个链表列表和大多数堆栈溢出线程的每个谷歌结果,但我真的不明白他们在做什么。我是否需要创建一个单独的类来扩展linkedlist,然后创建该类的数组?
我已经尝试了一百万种不同的方式来安排这些代码,但这就是我现在所拥有的。
public static int[][] genPerms(int numElements, int totPerms) {
int permArray[][] = new int[totPerms][numElements];
LinkedList<Integer>[] elementsLeftList = new LinkedList<Integer>[numElements];
错误是通用数组创建。有人可以向我解释这里实际发生了什么。
除了下面的解决方案,我被告知你可以创建一个头指针数组。
提前致谢。
答案 0 :(得分:2)
不允许创建通用数组,请执行以下操作
@SuppressWarnings("unchecked")
LinkedList<Integer>[] elementsLeftList = new LinkedList[numElements];
一切正常
答案 1 :(得分:1)
您目前无法在Java中创建一系列泛型,而无需经历复杂的过程。你可以这样做吗?
List<LinkedList<Integer>> elementsLeftList = new ArrayList<LinkedList<Integer>>();
如果您真的需要它作为数组,那么您可以从elementsLeftList.toArray()获取它并转换结果。
您可以阅读以下链接以获取解释:http://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#FAQ104