是否有可用的实用程序,可以轻松地获取任意对象的字符串表示形式(如果存在),并在其为null
时保持其为null
?
例如
String result = null;
if (object != null) {
result = object.toString();
}
但是更简洁。
我研究了ObjectUtils
和String.valueOf
,但两者都没有返回null
本身。它们都返回默认字符串,即空字符串或字符串"null"
而不是null
本身。
java.util.Objects
从JDK7开始就在这里):Objects.toString(s, null); // return null if s is null, s.toString() otherwise
实际上,它适用于每一个对象。
StringUtils.defaultString(s)
不适用,因为它将值转换为空字符串,而我需要它为 null。 - awgtekObjects.toString(o, null)
是唯一的选择。虽然我希望能避免额外的参数。 - awgteknull
作为结果。很多时候,null 处理行为是偶然的,也是错误的来源,因此通过使用这种方法,很明显您作为代码编写者(可能)已经考虑过 null 的影响并选择了该行为。 - M. Justin
return string;
的方式更慢。 - Elliott Frisch