public abstract class MyAbstractSet<T> implements Iterable<T> {
...
// some code
...
method addElement(T t){
for (T t : this) {
//why does this work????
}
}
}
Я только что закончил домашнюю работу о наборах и реализации классов Iterable
и Iterator
в Java. Главная цель домашней работы - понять дженерики и коллекции, которые я сейчас понимаю.
Однако, реализуя этот класс выше MyAbstractSet<T>
, я набрал for(T t: this)
по ошибке, что меня как-то смутило, поскольку у компилятора не было проблем при его компиляции. Я пытался понять, что это значит, но пока ничего не ясно. Например, добавление общего типа <T>
делает класс своего рода списком, который повторяет цикл for-each?
Может кто-нибудь объяснить мне, почему это работает и что это делает, может быть, также опубликовать ссылку, где это объясняется в документации по Java? Ваша помощь очень ценится. : D