我对OOP中avoiding null感到满意。 有没有替代解决方案? 我也不想在this way中避免使用它。
处理它的最佳方法是什么?
答案 0 :(得分:10)
Java 8有新的Optional
类型,我认为你在询问
容器对象,可能包含也可能不包含非null值。如果存在值,
isPresent()
将返回true,get()
将返回该值。
答案 1 :(得分:2)
虽然你不喜欢它,Null Object Pattern是避免null的最好方法之一。当你可以返回一个空列表时,也永远不会返回null。
答案 2 :(得分:2)
我赞成添加Empty的静态类属性。这将返回可以与之比较的对象的特定值 - 例如.NET中的string.Empty