【发布时间】:2011-06-15 16:18:04
【问题描述】:
null 和""(空字符串)有什么区别?
我写了一些简单的代码:
String a = "";
String b = null;
System.out.println(a == b); // false
System.out.println(a.equals(b)); // false
两个语句都返回false。看来,我无法找到它们之间的实际区别。
【问题讨论】:
-
与
b.equals(a)比较——但不要使用==进行字符串比较,因为在其他方面“它不起作用”。null值(与空字符串""不同,它是一个有效的 String 实例)可以永远在其上调用方法。将“已知的非空值”(通常是常量值或文字)放在等式的左侧是“尤达条件”或类似的东西。
标签: java string null equals referenceequals