ArrayList上的通用数组创建错误

时间:2015-10-04 19:45:09

标签: java arrays generics

我的IDE"通用数组创建"

中出现以下错误

我搜索了它,但发现了很长的解释,并没有完全理解这个问题的最佳解决方案。

如果有人可以建议最好的解决方案来让我的代码编译......

public ArrayList<String>[] getClosedTicketIDs(Account account) {

    ArrayList<String> closedSourceTickets = new ArrayList<>();
    ArrayList<String> closedAccountTickets = new ArrayList<>();

    // ...some unimportant to this example code...

    // return
    ArrayList<String>[] a = new ArrayList<String>[2]; // <-- generic array creation error
    a[0] = closedSourceTickets;
    a[1] = closedAccountTickets;
    return a;
}

我的目标是返回一个由2 ArrayList<String>组成的数组(不多也不少)。

2 个答案:

答案 0 :(得分:2)

您只能创建原始数组类型。您需要执行此操作:a = new ArrayList[2];

答案 1 :(得分:1)

你不能这样做,但你可以做到

List<List<String>> a=new ArrayList<ArrayList<String>>();

但更好的是

ArrayList[] a=new ArrayList[n];

因为你可以修改它的大小。