代码改变世界

String的equals方法

2011-06-04 16:53  会被淹死的鱼  阅读(415)  评论(0编辑  收藏  举报

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)