String s = null;
System.out.println(s);
s += "abc";
System.out.println(s);
s += null;
System.out.println(s);
输出结果:null
nullabc
nullabcnull
调试了一遍,发现java封装了导致的结果,要是c++准报错!
public AbstractStringBuilder append(String str) {
if (str == null) str = "null";
int len = str.length();
if (len == 0) return this;
int newCount = count + len;
if (newCount > value.length)
expandCapacity(newCount);
str.getChars(0, len, value, count);
count = newCount;
return this;
}
public void print(String s) {
if (s == null) {
s = "null";
}
write(s);
}