分享你的想法..
答案 0 :(得分:19)
第一个答案是总是为返回此类对象的方法返回空列表,集合,数组而不是null。来自Joshua Bloch的Effective Java第二版第43项
答案 1 :(得分:5)
看看Null Object Pattern。基本的想法是你有一个特殊版本的类,你可以使用而不是null。
此特殊版本的字段设置为在代码中有意义的默认值。这意味着你永远不会有空引用,你只需要一个不会做太多的类或者在使用时返回默认值。
答案 2 :(得分:4)
在我看来,无效检查是邪恶的。他们表明,没有合同确定obj
是否null
。最好的替代方法是以保证obj
永远不会null
的方式编写代码。例如:如果getter必须获得非null
obj
,但不能,则必须自行抛出异常。
答案 3 :(得分:1)
if (CONST_VALUE.equals(obj)) { ... }