关于nullpointerexception:在Java代码中避免大量“if(obj!= null)”的最佳方法是什么?

What's the best way to avoid lots of “if (obj != null)” in Java code?

本问题已经有最佳答案,请猛点这里访问。

Possible Duplicate:
How to avoid “!= null” statements in Java?

分享你的想法……


对于返回此类对象的方法,第一个答案是始终返回空列表、集合、数组,而不是空值。Joshua Bloch第二版有效Java第43项


看看空对象模式。基本的想法是你有一个特殊版本的类,你可以使用它而不是空的。

此特殊版本的字段设置为在代码中有意义的默认值。这意味着您永远不会拥有空引用,您只拥有一个在使用时不做太多工作或返回默认值的类。


在我看来,空支票是邪恶的。他们表明,没有合同可以确定obj是否可以是null。另一个好的选择是,编写代码的方式应确保obj永远不会被保证为null。例如:如果getter必须获得非nullobj,但不能,则必须抛出异常本身。


Yoda条件

1
if (CONST_VALUE.equals(obj)) { ... }