単一オブジェクトを反復可能オブジェクトとして扱う最も良い方法は何ですか?以下の場合、例えばJavaで反復可能オブジェクトのようなオブジェクトを扱う最善の方法は何ですか?
、...
public void fun(Object o) {
fun(new TempList(o));
}
public void fun(Iterable<Object> os) {
try {
for(Object o : os)
// Write to server
System.out.println(o);
} catch(Exception e) {
// log e
}
}
UPDATE:
Rewordingこの部分。
物事の反復可能性を取り、それらを処理する関数が既に存在します(fun(Iterable<Object> os)
)。代わりに単一の項目(fun(Object o)
)を取るこの関数のエイリアスを追加しています。この関数はさまざまなインスタンスによってたくさん呼ばれるので、Iterable関数を単一のアイテムで呼び出す最もリソース効率の良い方法を望んでいます(最小のゴミ箱を作成したり、最速でクリーンアップします)。
質問タイトルと全く同じObject
にはIterable<Object>
が必要な機能を渡す最も良い方法は何ですか?
配列は反復可能ではありませんが、enhanced-for文も使用できます。あなたは実際に何を達成しようとしていますか? – Makoto
別の方法として、[Collections.singleton(o)](https://docs.oracle.com/javase/8/docs/api/java/util/Collections.html#singleton-T-)を使用します。 1項目セット、Iterableです。 –
"機能は短命のリソースを使用していますが、多くのゴミ箱よりも効率的です" - 明確ではないが、動機について少し詳しく説明できるか? – alfasin