我想要一种方便的方法来获取一组参数并返回一个数组,就像Arrays.asList(T... items)
获取一组参数并返回其中的一个List<T>
。
写一个很容易,但是java中是否已经存在一个?
更新 我的错!我没有意识到这个问题如此不清楚。你的问题迫使我意识到这个问题并不完全是我认为的问题。
我有几个像下面这样的调用,它们将各种键/值放入 Map:
put( Key.get(A.class), new Key[] { Key.get(X.class), Key.get(Y.class), Key.get(Z.class)});
...地图的类型Map<Key<? extends Foo>,Key<? extends Foo>[]>
我一直在寻找一种类型安全且简洁的方式来执行上述语句,并且我认为类似以下的内容会起作用:
put( Key.get(A.class), toArray( Key.get(X.class), Key.get(Y.class), Key.get(Z.class)));
...在哪里toArray()
被定义为类似的东西
private static <T> T[] toArray( T... t ) {
return t;
}
然而,事实证明这个解决方案本身不是类型安全的,因此它实际上并不比仅仅使用手动创建一个新数组简洁得多new
。这是我误解的第一个原因。
我认为我可以通过使用列表而不是数组来获得类型安全,然后使用Arrays.asList()
来填充列表的值,但事实证明这也不是类型安全的。这是我误解的第二个原因。我认为这Arrays.asList()
会使这个陈述比实际更简洁,因此我一直在寻找对数组有同样作用的东西。
所以我想问题是真的 -在上述情况下是否有一种简洁的方法来获得类型安全?