封装类的注解@EqualsAndHashCode(callSuper = false)
时间: 2023-10-26 22:49:44 浏览: 69
@EqualsAndHashCode(callSuper = false)是一个用于封装类的注解。它的作用是自动生成equals(Object obj)和hashCode()方法,并且可以通过callSuper属性控制是否调用父类的equals和hashCode方法。
当callSuper属性为true时,会调用父类的equals和hashCode方法,否则不会调用。在这种情况下,封装类只会比较自身的属性值,而不考虑继承自父类的属性。
使用@EqualsAndHashCode(callSuper = false)注解可以简化代码编写,提高代码的可读性和可维护性。同时,也可以避免因为缺少equals和hashCode方法而导致的一些问题,比如在使用HashMap或HashSet等集合类型时可能会出现的问题。
相关问题
java中实体类上的注解@EqualsAndHashCode(callSuper = false)
在Java中,实体类上的注解@EqualsAndHashCode(callSuper = false)的作用是告诉编译器在生成equals和hashCode方法时不考虑父类的属性。这意味着只有当前类的属性参与生成equals和hashCode方法的逻辑判断。这个注解通常用于子类,当子类继承了父类的属性,但是在比较对象时只关心子类自身的属性时,可以使用这个注解来避免父类属性的干扰。\[3\]例如,在子类中使用@EqualsAndHashCode(callSuper = false)注解,可以确保只有子类自身的属性参与equals和hashCode方法的生成,而不考虑父类的属性。\[2\]
#### 引用[.reference_title]
- *1* *2* [Lombok常用注解使用方式和Lombok的@EqualsAndHashCode(callSuper = false)存在的问题](https://blog.csdn.net/qq_42543063/article/details/107521523)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [@EqualsAndHashCode注解使用](https://blog.csdn.net/weixin_46067095/article/details/121878645)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
@EqualsAndHashCode(callSuper = false)注解的作用
@EqualsAndHashCode(callSuper = false)注解的作用是排除继承的父类字段进行哈希码和相等性的判断。在使用该注解时,只会比较当前类的字段,不会比较继承的父类的字段。这意味着当两个子类对象的本身字段值相同,即使它们的父类字段值不同,equals方法的返回值也会是true。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [Lombok 中 @EqualsAndHashCode注解的使用](https://blog.csdn.net/Rookie_cc/article/details/118415024)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *2* [@EqualsAndHashCode(callSuper = false)作用](https://blog.csdn.net/small_dog_/article/details/121679968)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
- *3* [@EqualsAndHashCode(callSuper = true/false) 作用](https://blog.csdn.net/dj1955/article/details/123822789)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT0_1"}}] [.reference_item style="max-width: 33.333333333333336%"]
[ .reference_list ]
阅读全文