String数据类型的初始值
String数据类型的初始值
推断变量 str1 和 str2 的值是什么?
String str1; // str1 = null
String str2 = new String(); // str2 = ""
现在用程序跑一遍,测试一下结果
public class TestString {
public static void main(String[] args) {
String str1;
String str2 = new String();
//System.out.println(str1); // 报错:Variable 'str1' might not have been initialized
System.out.println(str2);
}
}
说明变量 str1 还未初始化,所以输出不了,而变量 str2 输出为空,可以再一次进行测试,str2 的结果:
System.out.println(str2.length()); // 结果为0
而一般如果变量 str1 需要用到,但不用 new 一个新的对象,可以对变量 str1 赋空值
String str1 = null;
这样就不会报错了,程序也可正常运行。