null和""是不同的
public class StringTest {
public static void main(String[] args) {
String str = null;
String str2 = "";
System.out.println("\"\" == str: " + "".equals(str));
System.out.println("\"\" == str2: " + "".equals(str2));
try {
System.out.println(str.equals(""));
} catch (NullPointerException e) {
System.err.println("Caught Exception: " + e);
}
}
}
运行结果如下:
"" == str: false "" == str2: true Caught Exception: java.lang.NullPointerException
在Java中String有很多特别的地方, 推荐比较字符串为空时使用这种方式:
"".equals(str)