2017-08-10 61 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方法的概念,你可以在互聯網上找到很多例子。