这行:
String concatenated = str2 + " a_literal_string";
被编译成类似
String concatenated = new StringBuilder().append(str2) .append(" a_literal_string") .toString();
这给出
"null a_literal_string"(而不是给出
NullPointerException),因为
StringBuilder.append是使用实现的
String.valueOf,并
String.valueOf(null)返回
string "null"。
我还尝试将一个初始化为null的Integer和字符串文字
“ a_literal_string”连接起来,我得到了同样的东西
这是由于与上述相同的原因。
String.valueOf(anyObject)这里
anyObject是null会给予回复”null”。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)