toString 但仅当不为空时

awg*_*tek 1 java null tostring

是否有任何实用程序可以轻松获取任意对象的字符串表示(如果存在)并保留它(null如果存在)null

例如

String result = null;
if (object != null) {
    result = object.toString();
}
Run Code Online (Sandbox Code Playgroud)

但不那么冗长。

我已经调查过ObjectUtilsString.valueOf但都没有返回null本身。两者都返回默认字符串,即空字符串或字符串"null"而不仅仅是null

NoD*_*und 9

如果我理解你的问题,你可以使用它(java.util.Objects从 JDK7 开始):

Objects.toString(s, null); // return null if s is null, s.toString() otherwise
Run Code Online (Sandbox Code Playgroud)

事实上,它适用于每个对象。

  • 我认为“Objects.toString(o, null)”是唯一的选择。不过,我希望避免额外的参数。 (2认同)