インターフェイスのみList
を実装している場合でも、配列、リスト、セット、およびマップはすべて反復可能なオブジェクトであり、foreachループを介してすべてを使用できると思います。Set
Iterable
for(String s : new String[0]);
for(String s : new ArrayList<String>());
for(String s : new HashSet<String>());
for(Entry<Integer, String> entry : new HashMap<Integer, String>().entrySet());
の場合はMap
少し異なるかもしれませんが、Key-Valueリスト(実際の内容)と見なしてみましょう。
その繰り返しの理解から始めて、私は次の方法でタイプを逃していますか?
public boolean isIterable(Object o) {
return o instanceof Object[] || o instanceof Iterable || o instanceof Map;
}
言い換えれば、foreachループを介して反復できる他のタイプはありますか?
副次的ですが、結果として生じる質問:そのタイプのリストは網羅的ですか?