通用二维数组可用的替代方法,不使用抑制警告

时间:2014-01-05 15:20:20

标签: java arrays generics

如果我想从函数返回org.apache.commons.lang3.tuple.MutablePair<L,R>的二维数组,是否存在任何设计问题。以下是函数原型:

public MutablePair[][] f() {
    //code goes here
}

请注意,由于java不允许通用数组,我必须返回原始类型并禁止编译器生成相应的警告。

另一种选择是使用对我来说过于冗长的List<list<Mutable<Integer, Integer>>>。而且我真的不需要列表界面(2d数组的大小是固定的)。我也可以使用ArrayList,但再次使用过于冗长。我想避免这些。

所以我的问题是这样的函数声明会出现什么问题。宣布和使用这些功能是完全不可接受的。在这种情况下,一般推荐的做法是什么。或者最好使用冗长的方式?

建议欢迎。

1 个答案:

答案 0 :(得分:0)

Guava Table可能与你有关..它们允许非整数键,你必须将它们设置为常规整数,并且有一堆utility methods可能证明是对你有用。 ArrayTable's尤其适合。{/ p>