【发布时间】:2014-08-26 08:02:10
【问题描述】:
我知道以下几点:
String s = null;
System.out.println("s: " + s);
将输出:s: null。
如何让它只输出s: ?
就我而言,这很重要,因为我必须将 String 与 4 值、s1, s2, s3, s4、这些值中的每一个 可能或不可能连接起来> 有null 值。
我在问这个问题因为我不想检查 s1 到 s4 的每个组合 (即检查这些变量是否为null)或者最后用emptyString替换"null",因为我认为可能有更好的方法来做到这一点。
【问题讨论】:
-
一个有趣的事实(这不是您问题的答案):考虑到 Java 语言的繁琐程度,字符串连接永远不会为
null抛出异常可能会让人感到惊讶,即使如果您在null本身上使用+=。例如:String s = null; s += null;。在这两个语句之后,s成为明显非null字符串"nullnull"。连接不是null,但其toString()方法被重写为returnnull的对象也是安全的。在所有情况下,串联都用"null"替换null。 -
在 Stack Overflow 推出近 6 年后,这怎么不是重复的?
-
“空字符串”和“空引用”是有区别的。 “空字符串”是
"",将打印为空。 null reference 甚至不是 String。 -
@PeterMortensen - 我试图找到一个骗子,但每次搜索都会找到
null。