考虑这条线:摆好避免NullPointerException异常在Java中
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")) { // ....
第一个选项是尴尬的阅读,但更简洁,而第二个意图明确,但详细。
在可读性方面,您更喜欢哪个选项?
我甚至不认为这是更难以阅读的IMPL。 – 2009-06-08 11:52:02