java替代方案可用于通用2d数组,无需使用抑制警告
如果我想从一个函数返回一个org.apache.commons.lang3.tuple.MutablePair<L,R>
的2d数组,是否有任何设计问题。以下是功能原型:
public MutablePair[][] f() {
//code goes here
}
注意,由于java不允许泛型数组,我必须返回一个原始类型,并抑制编译器生成的相应警告
另一种选择是使用List<list<Mutable<Integer, Integer>>>
,这在我看来太冗长了。此外,我真的不需要列表接口(2d数组的大小是固定的)。我也可以使用ArrayList,但这也太冗长了。我想避免这些
所以我的问题是这样的函数声明会产生什么问题。声明和使用这些函数是完全不可接受的。在这种情况下,一般推荐的做法是什么。还是最好使用冗长的方式
欢迎提出建议
# 1 楼答案
Guava Table的可能与你有关。。它们允许非整数键,您必须将这些值设置为正则整数,并且有一组utility methods可能对您有用ArrayTable's尤其适合