字符串的比较

今天我们来说说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字符串的比较的理解,可能还比较浅,大家有更多想法可以提出来。

评论

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×