为什么我的equals两边明明相等结果还是显示错误
初学者,见笑了{:1_908:} java中string类型比较equals是比较地址内容(你的代码中明显是两个不同对象),==是比较面上值的。 对象不同 楼上正解结帖吧 没事多百度。! bitterain 发表于 2020-3-19 20:13java中string类型比较equals是比较地址内容(你的代码中明显是两个不同对象),==是比较面上值的。
好的谢谢 不同对象当然不相等了,可以toString再比较 kesai 发表于 2020-3-19 20:39
不同对象当然不相等了,可以toString再比较
谢谢谢谢 windy_ll 发表于 2020-3-19 20:14
对象不同
非常感谢 你equals的两个对象是StringBuffer的对象,该类并没有实现equals方法,而是将俩个引用直接比较,所以str1.equals(str2)输出false。hashcode()方法也是一个道理。
String类它实现了父类的equals方法,比较的是字符串值的大小,转化成String类试试。
页:
[1]
2