优雅地避免在Java中提供NullPointerException
2022-09-01 20:20:05
请考虑以下行:
if (object.getAttribute("someAttr").equals("true")) { // ....
显然,这行是一个潜在的错误,属性可能是,我们将得到一个.因此,我们需要将其重构为以下两个选项之一:null
NullPointerException
第一个选项:
if ("true".equals(object.getAttribute("someAttr"))) { // ....
第二个选项:
String attr = object.getAttribute("someAttr");
if (attr != null) {
if (attr.equals("true")) { // ....
第一个选项读起来很尴尬,但更简洁,而第二个选项在意图上很清楚,但很冗长。
在可读性方面,您更喜欢哪个选项?