我正在浏览
Java 7个功能,他们谈到了
java.util.Objects
课程.
我无法理解的是它之间的功能差异是什么
java.util.Objects.toString(foo) vs foo == null ? "":foo.toString()
我错过了什么?
解决方法
java.util.Objects.toString()
的主要优点是,您可以轻松地将其用于可能为null的返回值,而不是需要创建新的局部变量(或者更糟糕的是调用该函数两次).
相比
Foo f = getFoo(); String foo = (f==null) ? "null" : f.toString();
或者是令人畏缩的和引诱的错误
String foo = (getFoo()==null) ? "null" : getFoo().toString()
到基于Objects.toString的版本
String foo = Objects.toString(getFoo());