String的equals方法

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)
原文地址:https://www.cnblogs.com/icejoywoo/p/2072719.html