如何在Java中为String指定空引用



下面的代码测试字符串myStr和newStr是否包含相同的值。我预计结果是相等的,但令我惊讶的是,String newStr = null行似乎导致newStr将"null"作为实际文本。这是正确的吗?

我希望它只是被赋给一个不指向任何东西的引用,导致在那一点上没有值。

String myStr = "java";
char[] myCharArr = {'j', 'a', 'v', 'a'};
String newStr = null; // not an empty reference but assigning the text "null"?
for (char value : myCharArr) {
newStr = newStr + value;
}
System.out.println(newStr == myStr); // results in false: newStr is 'nulljava' and myStr 'java'    

请注意,当将"String newStr = null"更改为String newStr = new String()时,您将获得一个空引用,并且newStr最终将只是"java"

表演

newStr = newStr + value;

newStr中的null转换为字符串,即"null"。您应该记住的另一件事是==比较引用,为了比较String本身,您应该使用str1.equals(str2)

相关内容

  • 没有找到相关文章

最新更新