Почему я получаю предупреждение об этом при добавлении этого в список?JAVA

Программисты JAVA общаются здесь
Ответить
Anonymous
 Почему я получаю предупреждение об этом при добавлении этого в список?

Сообщение Anonymous »

Я не понимаю этого предупреждения this-escape. Почему мне проблематично добавить это в список, принадлежащий внешнему классу, в конструкторе (не-final) внутренний класс B?
В этом простом примере предупреждение исчезнет, ​​если я сделаю класс B финальным, но я не думаю, что хочу это будет окончательно.
/*
javac -Xlint:all wtf.java

Produces this warning:
wtf.java:9: warning: [this-escape] possible 'this' escape before subclass is fully initialized
A.this.all_my_Bs.add(this);
^
*/
public class wtf {

public static class A {

public class B {
public B() {
A.this.all_my_Bs.add(this);
}
}

public java.util.ArrayList all_my_Bs = new java.util.ArrayList();
}

};


Подробнее здесь: https://stackoverflow.com/questions/790 ... -to-a-list
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «JAVA»