今天我们来说说String字符串的比较
String a ="124";
String b ="124";
那么 a==b输出是结果是什么?
想必你心中已经有答案了,对,结果是true;
因为 “==”他比较的是栈中内存地址是否相同,所以我们自定义的变量 a==b 是相等的。
那下面二个字符串的比较又是什么情况呢?
String a ="124";
String b = new String("124");
a==b输出的结果是什么呢?
答案是false;
因为new出来的内容,他会在堆内存中开辟一个新的空间,而我们直接定义的变量所指向的是一个堆内容中的空间。他们二个内存地址是不同的,所以输出的是false
以上便是我对String字符串的比较的理解,可能还比较浅,大家有更多想法可以提出来。