Java中固定大小数组的列表?

3

在Java中是否能够创建一个具有固定大小的数组列表?

我已经尝试了这些方法,但它们都给出了语法错误:

List<int[]> failedParameters = new ArrayList<int[3]>();
List<int[]> failedParameters = new ArrayList<new int[3]>();

我做错了什么?


2
不需要确定大小,最好的方法是使用new ArrayList<int[]> - Colonel Thirty Two
可能是此问题的重复:如何创建固定长度数组值的Java Map? - Joe
2个回答

7

不,你不能将数组长度指定为Java类型。但是,你可以在自己的类型中包装数组。我会让你决定是否真的实用(如果你想支持数十个数组长度):

class Int3 {
    // Use final to indicate that the array length will remain unchanged
    final int[] array = new int[3];
}

List<Int3> failedParameters = new ArrayList<Int3>();

当然,如果你已经这么做了,为什么不直接创建一个三元组?
class Int3 {
    int v1;
    int v2;
    int v3;
}

List<Int3> failedParameters = new ArrayList<Int3>();

1

您可以使用这种方法。它不允许您更改集合的大小(无add() / remove()操作)。

List<> unmodiffableList = Collections.unmodifiableList(oListeRet);

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接