0

好的,所以我一直在阅读有关创建链表数组和大多数堆栈溢出线程的每个谷歌结果,但我并不真正了解它们在做什么。我是否需要创建一个扩展链接列表的单独类,然后创建该类的数组?

我已经尝试过一百万种不同的方式来安排这段代码,但这就是我目前所拥有的。

public static int[][] genPerms(int numElements, int totPerms) {
    int permArray[][] = new int[totPerms][numElements];
    LinkedList<Integer>[] elementsLeftList = new LinkedList<Integer>[numElements];

错误是通用数组创建。有人可以向我解释这里到底发生了什么。

除了下面的解决方案,我被告知您可以创建一个头指针数组。

提前致谢。

4

2 回答 2

2

不允许创建泛型数组,请执行以下操作

    @SuppressWarnings("unchecked")
    LinkedList<Integer>[] elementsLeftList = new LinkedList[numElements];

它工作正常

于 2013-02-04T03:16:55.937 回答
1

如果不经历一个复杂的过程,您目前无法在 Java 中创建泛型数组。您可以改为执行以下操作吗?

List<LinkedList<Integer>> elementsLeftList = new ArrayList<LinkedList<Integer>>();

如果你真的需要它作为一个数组,你可以从 elementsLeftList.toArray() 获取它并转换结果。

您可以阅读以下链接进行解释:http ://www.angelikalanger.com/GenericsFAQ/FAQSections/ParameterizedTypes.html#FAQ104

于 2013-02-04T03:09:54.360 回答