即使只List
实现Set
接口Iterable
,我相信数组、列表、集合和映射都是可迭代的对象,因为我们可以通过 foreach 循环使用它们:
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
可能有点不同,但让我们将其视为键值列表(它实际上是什么)。
从可迭代的理解开始,我是否缺少以下方法中的类型?
public boolean isIterable(Object o) {
return o instanceof Object[] || o instanceof Iterable || o instanceof Map;
}
换句话说,是否有任何其他类型可以通过 foreach 循环进行迭代?
附带但产生的问题:该类型列表是否详尽?