固定数の変数のコードブロックが必要です。たとえば、次のようにします。
MyGenericClass<T> v1,v2,v3;
/* ... */
{
/* something with v1 */
}
{
/* same thing with v2 */
}
{
/* same thing with v3 */
}
コードの重複を避けたい。これを行う最善の方法は何ですか (このコードは頻繁に実行されるため、GC 用のオブジェクトを作成しないことを願っています)。
これは機能します:
for (MyGenericClass<S> v : new MyGenericClass[] {v1,v2,v3}) {
/* something with v - no casting */
}
次のように、型の安全性に関する警告が表示されます。
for (MyGenericClass<S> v : Arrays.asList(v1,v2,v3) {
/* something with v - no casting */
}
これらのうち、どちらを優先する必要がありますか? そして、より良い代替手段はありますか?