我有一个清单String
s,我想将它们与中间的空格连接起来。所以我正在使用StringBuilder
。现在如果有任何一个String
s are null
,它们被存储在StringBuilder
字面意思是“空”。下面用一个小程序来说明这个问题:
public static void main(String ss[]) {
StringBuilder sb = new StringBuilder();
String s;
s = null;
System.out.println(sb.append("Value: ").append(s));
}
我期望输出为“值:”,但结果为“值:null”
有办法解决这个问题吗?
您可以在附加对象之前对其进行检查:
sb.append("Value: ");
if (s != null) sb.append(s);
System.out.println(sb);
需要注意的一个关键点是 null 与空字符串不同。空 String 仍然是具有关联方法和字段的 String 对象,其中空指针根本不是对象。
从 StringBuilder 的追加方法的文档中:
String 参数的字符按顺序附加,从而使该序列的长度增加参数的长度。如果 str 为 null,则附加四个字符“null”。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)