【发布时间】:2017-09-25 08:38:35
【问题描述】:
在我的类的 getter 中,属性可能具有来自数据库的空值:
public String getCible() {
return cible.equals(null) ? " - " : cible;
}
在我的代码中,我想调用这个 getter,但我得到了 NullPointerException。
如果我将比较更改为return cible == null ? " - " : cible;,那么一切都是正确的 :) 那为什么呢?
【问题讨论】:
-
将
string与null进行比较并非不可能。关键是不可能在null值上调用方法 -
equals 和 == 是两个不同的东西。在此处查看完整说明:stackoverflow.com/questions/7520432/… 您可以使用 org.apache.commons.lang.ObjectUtils.equals(cible, null) 或其字符串,然后使用 org.apache.commons.lang.StringUtils.equals(cible, null) 哪个是空安全的
标签: java