2017-08-10 82 views

回答

0

我假设您正在比较具有相同String值的不同StringBuilder对象。

StringBuilder不覆盖equalshashCode方法。这导致HashSetArrayList使用Object的实现它们的身份比较。既然你比较不同的对象,他们是不同的。

+0

我明白了,但你能否详细说一下如何编写override override方法。 – ttripdee

+0

是的,你的假设是完全正确的。那是什么发生。请帮忙 – ttripdee

+0

@ttripdee为什么你需要使用'StringBuilder'?你不能使用'String'吗?这是一个最终的类,你不能扩展它并覆盖equals和hashCode。 – Oleg

0

请使用String而不是存储StringBuilder对象,或者如果您想要存储自定义对象覆盖hashcode并等于方法,每当您尝试添加并搜索回该对象。

请阅读hascode和equals方法的概念,你可以在互联网上找到很多例子。