我开发了一个可以使用哈希集概念的应用程序。我必须重写 hashset 中的 equals()、hashCode() 和 toString() 方法。我不知道为什么要重写给定的方法。请任何人告诉我在不重写上述方法的情况下会发生什么。
最佳答案
例如,阅读以下内容: http://www.javamex.com/tutorials/collections/hash_code_equals.shtml
其他地方有很多关于该主题的讨论(我推荐《Effective Java》一书)。
您不需要重写 toString(),这是一个额外的好处。
基本上,如果您不重写 equals,您将无法按照您期望的方式从集合中获取内容。例如。如果您的 String 类没有以有意义的方式实现 equals,collection.get("abc") 和 collection.get(new String("abc")) 会给您不同的结果。
关于java - 哈希集中的方法重写,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7796955/