VyouWeiyou 发表于 2020-3-19 19:54

为什么我的equals两边明明相等结果还是显示错误

初学者,见笑了{:1_908:}

bitterain 发表于 2020-3-19 20:13

java中string类型比较equals是比较地址内容(你的代码中明显是两个不同对象),==是比较面上值的。

windy_ll 发表于 2020-3-19 20:14

对象不同

0Ling0 发表于 2020-3-19 20:18

楼上正解结帖吧

luwanding 发表于 2020-3-19 20:20

没事多百度。!

VyouWeiyou 发表于 2020-3-19 20:21

bitterain 发表于 2020-3-19 20:13
java中string类型比较equals是比较地址内容(你的代码中明显是两个不同对象),==是比较面上值的。

好的谢谢

kesai 发表于 2020-3-19 20:39

不同对象当然不相等了,可以toString再比较

VyouWeiyou 发表于 2020-3-19 20:46

kesai 发表于 2020-3-19 20:39
不同对象当然不相等了,可以toString再比较

谢谢谢谢

VyouWeiyou 发表于 2020-3-19 20:47

windy_ll 发表于 2020-3-19 20:14
对象不同

非常感谢

bigdogxh 发表于 2020-3-19 20:55

你equals的两个对象是StringBuffer的对象,该类并没有实现equals方法,而是将俩个引用直接比较,所以str1.equals(str2)输出false。hashcode()方法也是一个道理。
String类它实现了父类的equals方法,比较的是字符串值的大小,转化成String类试试。
页: [1] 2
查看完整版本: 为什么我的equals两边明明相等结果还是显示错误