java - 哈希集中的方法重写

标签 java

我开发了一个可以使用哈希集概念的应用程序。我必须重写 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/

相关文章:

java - 如何在java中获取我的机器的IP地址?

java - 编译器如何知道正在使用的类是泛型类,尽管它已被编译并且其类型已被删除为预泛型代码

java - 尝试使用 Google Blogger API OAuth2 创建帖子时发生 SessionExpiredException

java - EJB 注入(inject)错误

Java 表单未加载

java - 如何使用 servlet/jsp/javabeans 以非常简单的注册表形式存储用户名和密码?

java - 使用delete()删除文件 - Java

java - 如何将给定的长度转换为厘米并将其表示为公里、米和厘米的组合?

java - 如何测试 Java SIP 客户端?

java - 在 tomcat 8 的共享文件夹中添加属性文件并在 Spring MVC Web 应用程序中使用它