今天第一次刷leetcode简单题,一直想不明白为什么StringBuffer两个相同的值用equals()返回了false
因为一直记得String是重写过equals()方法的,所以也潜意识认为StringBuffer也是重写过equals()方法的。然后查看了源码才知道StringBuffer并没有重写equals()方法,所以这个比较相当于==,比较的是地址是否相同了。最终将sb1.equals(sb2)改成sb1.toString().equals(sb2.toString())就执行通过了
StringBuffer两个相同的值用equals()方法返回了fasle?原来是StringBuffer并没有重写equals()方法
最新推荐文章于 2022-09-01 22:46:27 发布