Массивы, списки, наборы и карты являются итерируемыми.Что еще?

Даже если только 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?

Побочный, но результирующий вопрос: является ли этот список типов исчерпывающим?

6
задан sp00m 29 May 2012 в 15:03
поделиться