本帖最后由 qq379264347 于 2013-11-13 23:18 编辑
""表示空的String类型,而null表示空,什么类型都没有,所以这俩比较自然是false。
下面的那个其实就是这样子的:
String tmp = "ab" + "c";
System.out.println("abc" == tmp);
tmp是"abc",==左面也是"abc",在JVM中相同的字符串只保留一份,除非你用new创建。tmp已经组装成"abc"了,下面的"abc"就是上面的副本,其实都一样的东西。
若是new一个就不同了,System.out.println("abc" == new String("abc"));输出false
|