java中如果字符串变量指向null,表示空引用,此时对字符串求长度会抛出异常。
而""表示一个空字符串,对字符串求长度是可以的,求出来的字符串长度为0。
举例:
package com.thb;
public class Test6 {
public static void main(String[] args) {
String s1 = "";
String s2 = "hello";
String s3 = null;
System.out.println("lenth of s1: " + s1.length());
System.out.println("length of s2: " + s2.length());
System.out.println("length of s3: " + s3.length());
}
}
运行输出:
从运行结果可以看出,字符串s1,指向空字符串"",字符串长度为0。字符串s3是空引用,所以求字符串长度的时候抛出异常。
上面的程序进入debug模式,也能发现他们的差异: