越是简单的东西越容易被忽略
String a = "abc";
String b = new String("abc");
syso(a == b);
这段代码的执行结果是什么?
是false!
String a = "abc";abc字符串是被分配进了方法区里的常量池,这个我们都知道
但是new String(“abc”);l在内部则是对他的values和hash分别进行了赋值,相当于是重新创建了对象,所以使用==来比较就是返回false;
越是简单的东西越容易被忽略
String a = "abc";
String b = new String("abc");
syso(a == b);
这段代码的执行结果是什么?
是false!
String a = "abc";abc字符串是被分配进了方法区里的常量池,这个我们都知道
但是new String(“abc”);l在内部则是对他的values和hash分别进行了赋值,相当于是重新创建了对象,所以使用==来比较就是返回false;