2

我正在使用 JPA 1、Struts2 和 AppEngine 数据存储。

我已经在我的 Web 应用程序中保存了对象。我想将布尔属性添加到我现有的实体中。因此,已保存的旧对象将具有nullBoolean属性的值。

这是我的新财产

private Boolean display = false;

public Boolean getDisplay() {
    return display;
}
public void setDisplay(Boolean display) {
    this.display = display;
}

我将如何防止java.lang.NullPointerException财产display

4

2 回答 2

1

以下作品:

if (Boolean.TRUE.equals(item.getDisplay())){

}

以下条件将抛出 NPE:

if (item.getDisplay()){

}

于 2013-01-24T02:52:38.523 回答
0

我认为最好的解决方案是修改现有数据以与您的“代码”保持一致。

当然有讨论的可能。

  • 有人会说:总是检查空值,程序健壮。
  • 其他人会说:干净的代码,在这种情况下永远不可能出现 null,所以不要检查它。
于 2013-01-24T09:54:16.040 回答