Vaadin CheckBox对象变为null

时间:2014-12-16 12:34:00

标签: java vaadin

我有这个Vaadin对象:

CheckBox mycb = new CheckBox("caption");

稍后此复选框的将从数据库更新,如下所示:

mycb.setValue(dbvalue);

dbvalue在数据库中实际上是NULL。此行前mycb 不为空,此行后 null 。它的值不应该保持不变,只有mycb.getValue()返回null吗?

此外,尝试通过短路评估来避免NullPointerException:

if (mycb != null && mycb.getValue() == true) 
...

无论如何都会产生NullPointerException。这是正常行为还是我做错了什么?

1 个答案:

答案 0 :(得分:4)

你说你自己mycb实际上并没有变成空位。太棒了。

if (mycb != null && mycb.getValue() == true) 

这会抛出NullPointerException,因为Java会尝试将mycb.getValue()的结果转换为boolean。但由于mycb.getValue()返回null,因此会抛出NullPointerException

将其更改为:

if (mycb.getValue() != null && mycb.getValue() == true)

或类似的东西