/ / Як посилатися на клас Enclosing з класу Inner? - java, клас, arraylist, вкладений, синхронізований

Як називати клас Enclosing з внутрішнього класу? - java, class, arrailist, вкладені, синхронізовані

Я розширюю ArrayList, щоб створити користувальницький ArrayList, який можна змінити за допомогою звичайних методів ArrayList під час ітерації над ним. Для цього я також створюю Ітератор.

public class SynchronizedList<E> extends ArrayList<E>
{
// Fields here

//Constructors and methods here

public class SynchronizedListIterator<E> implements Iterator<E>
{
public int index;
private E current;

public boolean hasNext()
{
synchronized (/* reference to enclosing List object */) {
//code goes here
}
return false;
}

//more methods here
}
}

Під час моїх методів hasNext () та next () мені потрібно переконатися, що список не змінюється (його можна змінити будь-коли інший час). Отже, мені потрібно посилатися на мій тип укладеного в моєму синхронізованому () блоці.

Відповіді:

5 за відповідь № 1

EnclosingType.this. Так у вашому випадку було б SynchronizedList.this.