У меня есть этот Vaadin объект:объект Vaadin CheckBox становится нулевым
CheckBox mycb = new CheckBox("caption");
Позже значение этого флажка обновляется из базы данных, как это:
mycb.setValue(dbvalue);
dbvalue
на самом деле NULL в базы данных. mycb
был не null перед этим line, и есть null после этого line. Должно ли его значение оставаться неизменным, только mycb.getValue()
, возвращающий null?
Кроме того, пытаясь избежать NullPointerException с оценкой короткого замыкания:
if (mycb != null && mycb.getValue() == true)
...
Это производит NullPointerException в любом случае. Это нормальное поведение или есть что-то, что я делаю неправильно?
Единственный способ mycb становится нулевым после вызова SetValue, если этот метод как-то (по линии) получает доступ к той же переменной mycb. Может быть, есть прослушиватель событий, который слушает и имеет выражение mycb = null? Является ли mycb локальной переменной? –
Неужели вы добавили слушателей в mycb, особенно ValueChangeListener? – kukis
@DavidtenHove, mycb - это поле, и я пробовал использовать «private» и «final», и результат тот же. – golimar