为了账号安全,请及时绑定邮箱和手机立即绑定

关于String和StringBuilder对象的比较

StringBuilder sb = new StringBuilder("abc");

String s = sb.toString();

System.out.println(s.equals(sb));

为啥输出的是false,内容不是一样么?

正在回答

4 回答

首先,你的知道equals()比较的是什么.    在同一个类里,比较字符串中包含的内容是否相同。

而你知道他们的字符串是相等的,但是他们不同类

3 回复 有任何疑惑可以回复我~
#1

king124 提问者

通俗易懂虽然明白了还是要感谢
2016-12-13 回复 有任何疑惑可以回复我~

内存分配不一样. sb是可变的, s 不可变.

0 回复 有任何疑惑可以回复我~

equals比较的是的类的类型是否相同,类的属性和方法是否相同

0 回复 有任何疑惑可以回复我~

toString()是输入字符串每个字符的组合,StringBuilder定义的是字符串,本质不同

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消

关于String和StringBuilder对象的比较

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信