首先该注解的作用:
1. 此注解会生成equals(Object other) 和 hashCode()方法。
2. 它默认使用非静态,非瞬态的属性
3. 通过参数exclude指定排除属性
4. 通过参数of指定使用的属性
5. @EqualsAndHashCode(callSuper...),callSuper默认为false,即默认不适用父类中属性判断
下面上代码说明
- 父类 Animal
- 子类 Cat
分几种情况测试看结果
1. 不指定@EqualsAndHashCode属性
默认callSuper = false,结果为true
2. 指定属性callSuper = true
为true时,使用父类的字段,此时name不相等,所以结果为false
3. exclude属性/of属性
指定前,因weight字段不相等,结果为false;
指定exclude属性为weight字段,将该字段排除,结果为false;文章来源:https://www.toymoban.com/news/detail-421875.html
exclude为排除指定字段,of为指定的比较字段!!!文章来源地址https://www.toymoban.com/news/detail-421875.html
到了这里,关于@EqualsAndHashCode注解详解的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!