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模式,也能发现他们的差异:

在Java中,空字符串的长度为0,可以安全地调用length()方法。然而,当字符串变量为null时,表示空引用,调用length()会抛出NullPointerException。程序示例展示了这一区别,并在调试模式下进一步说明。

116

被折叠的 条评论
为什么被折叠?



