Sobes.tech
Junior — Middle

Peut-on utiliser une boucle For-Each pour itérer sur un objet qui n'implémente pas l'interface de collection ou n'est pas un tableau?

sobes.tech IA

Réponse de l'IA

В Java цикл for-each (enhanced for) можно использовать только для объектов, которые реализуют интерфейс Iterable или являются массивами. Если объект не реализует Iterable и не является массивом, то использовать for-each напрямую нельзя.

Например, следующий код сработает:

List<String> list = Arrays.asList("a", "b", "c");
for (String s : list) {
    System.out.println(s);
}

А если у вас есть объект, который не реализует Iterable, то для итерации нужно использовать другие способы, например, классический цикл с индексами (если это массив) или получить итератор, если это возможно.

Если нужно использовать for-each для своего класса, можно реализовать интерфейс Iterable и определить метод iterator().