这是我的测试代码:
String foo = new String();
System.out.println(foo);
Run Code Online (Sandbox Code Playgroud)
输出为空白并写入新行.由于我是Java的新手,我不知道它是否是一个""字符串,或者空值是作为空行处理的.
Chr*_*ett 24
字符串初始化时没有字符,或者内部为"".
public String() {
this.offset = 0;
this.count = 0;
this.value = new char[0];
}
Run Code Online (Sandbox Code Playgroud)
上面的源代码来自Java源代码.正如另一张海报指出的那样,引用可以为null或指向一个对象,如果你创建一个String对象并获得一个指向它的引用,那么引用将不为null.
"null"是变量的值,而不是String的值."foo"可以具有null值,但实际的String不能.你所做的是创建一个新的空String(如构造函数的文档所述)并将其分配给foo.