我正在学习Java中的hashcode()
和equals()
方法。我确切地知道什么是hashcode()
方法。我试图了解如何为特定的类实现hashCode()
方法。例如,如果我有班级Book
,并且它具有以下字段:id
,book_name
,author_name
等
并且我实现了equals()
方法,当book_name
和author_name
相等时,两本书相等。现在,我想使hashcode()
方法保持一致。
那么如何针对这种情况实现hashcode()
方法?之后,我想将书籍添加到HashMap
中。任何反馈将不胜感激。
有几种选择。您可以使用Lombok并让其为您创建这些方法。编辑:删除对Objects.hashcode的引用,因为它在不为null时会在对象本身中调用hashcode方法。