一連のパラメーターを取得して配列を返す便利なメソッドが必要です。これは、一連のパラメーターを取得してそれらのアイテムArrays.asList(T... items)
を返すのと同じです。List<T>
書くのは簡単ですが、Java には既に存在しますか?
更新 悪い!質問がとても不明確であることに気づきませんでした。あなたの質問により、その質問は私が思っていた質問とはまったく違うことに気がつきました。
さまざまなキー/値をマップに配置する次のような呼び出しがいくつかあります。
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()
ので、配列に対して同じことを行うものを探していました。
したがって、質問は本当に-上記の状況でタイプセーフを取得する簡潔な方法はありますか?