广告
返回顶部
首页 > 资讯 > 精选 >Lombok中@EqualsAndHashCode注解如何使用
  • 816
分享到

Lombok中@EqualsAndHashCode注解如何使用

2023-07-05 09:07:17 816人浏览 安东尼
摘要

这篇文章主要介绍“Lombok中@EqualsAndHashCode注解如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Lombok中@EqualsAndHashCode注解如何使用”文章能帮

这篇文章主要介绍“Lombok中@EqualsAndHashCode注解如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Lombok中@EqualsAndHashCode注解如何使用”文章能帮助大家解决问题。

@EqualsAndHashCode注解

@EqualsAndHashCode注解的作用就是自动实现model类的equals方法和hashcode方法。

我们在实际工作中经常会使用lombok来简化我们的开发

例如我们可以在定义的model类上添加@Data注解,从而免去手写get、set、toString、equals、hashcode等方法。

先来看问题

1、定义一个基础类Car

@Datapublic class Car {         private String color;         private Integer endurance; }

2、定义一个扩展类BYD继承Car

@Datapublic class BYD extends Car {         private Integer price; }

3、分别new两个对象并比较

public class EqualsAndHashCodeTest {     public static void main(String[] args) {        BYD bydBlue = new BYD();        bydBlue.setPrice(150000);        bydBlue.setColor("蓝色");        bydBlue.setEndurance(1200);         BYD bydWhite = new BYD();        bydWhite.setPrice(150000);        bydWhite.setColor("白色");        bydWhite.setEndurance(1200);         System.out.println("两个对象比较结果:" + bydBlue.equals(bydWhite));    } }

4、查看比较结果

Lombok中@EqualsAndHashCode注解如何使用

我们会发现明明new的是两个不同的对象,但是使用equals比较出来的结果却是true。

原因是它没有调用父类的中属性,而是直接使用的子类中的属性来生成hashcode,所以当子类中的属性参数一样时,使用equals比较结果的为true。

解决办法

添加@EqualsAndHashCode(callSuper = true)注解或者不使用@Data注解。

@EqualsAndHashCode(callSuper = true)

就是用自己的属性和从父类继承的属性来生成hashcode;

@EqualsAndHashCode(callSuper = false)

就是只用自己的属性来生成hashcode;

@Data相当于@Getter @Setter @RequiredArgsConstructor @ToString @EqualsAndHashCode这5个注解的合集, 和@EqualsAndHashCode默认是false。

例:

@Data@EqualsAndHashCode(callSuper = true)public class BYD extends Car {         private Integer price; }

Lombok中@EqualsAndHashCode注解如何使用

---------------------------------或------------------------------

@Getter@Setterpublic class BYD extends Car {         private Integer price; }

Lombok中@EqualsAndHashCode注解如何使用

关于“Lombok中@EqualsAndHashCode注解如何使用”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识,可以关注编程网精选频道,小编每天都会为大家更新不同的知识点。

--结束END--

本文标题: Lombok中@EqualsAndHashCode注解如何使用

本文链接: https://www.lsjlt.com/news/350813.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Lombok中@EqualsAndHashCode注解如何使用
    这篇文章主要介绍“Lombok中@EqualsAndHashCode注解如何使用”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“Lombok中@EqualsAndHashCode注解如何使用”文章能帮...
    99+
    2023-07-05
  • Lombok中@EqualsAndHashCode注解的使用及说明
    目录@EqualsAndHashCode注解先来看问题1、定义一个基础类Car2、定义一个扩展类BYD继承Car3、分别new两个对象并比较4、查看比较结果解决办法总结@Equals...
    99+
    2023-03-06
    Lombok @EqualsAndHashCode @EqualsAndHashCode注解 @EqualsAndHashCode注解使用
  • Java库lombok及注解如何使用
    本篇内容介绍了“Java库lombok及注解如何使用”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lombok是什么Lombok是一个旨在减...
    99+
    2023-07-02
  • Lombok注解-@SneakyThrows的使用
    目录Lombok注解@SneakyThrows原理lombok注解@SneakyThrows探索及与try catch、throws Exception区别导入 Maven方法测试L...
    99+
    2022-11-13
  • Springboot中使用lombok的@Data注解方式
    目录Springboot 使用lombok的@Data注解idea安装lombok插件创建项目,编写实体类编写测试类测试结果springBoot 注解@Data注入失败一、Files--Seetings--Plugins二、如果重启后仍注入...
    99+
    2014-06-11
    Springboot注解 lombok 注解 @Data注解
  • lombok注解不起作用如何解决
    如果Lombok注解不起作用,可能有以下几种解决方法: 确认是否安装了Lombok插件:在使用Lombok注解之前,确保已经安装...
    99+
    2023-10-28
    lombok
  • java中Lombok的注解怎么用
    这篇文章主要讲解了“java中Lombok的注解怎么用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“java中Lombok的注解怎么用”吧!注解举例@ToString:实现toString(...
    99+
    2023-06-30
  • Java中Lombok常用注解分享
    目录Our-task介绍安装Lombok加入Maven依赖IDEA中安装Lombok插件注解介绍@Getter和@Setter@ToString@EqualsAndHashCode@...
    99+
    2023-05-17
    Java Lombok常用注解 Java Lombok注解 Java Lombok
  • Lombok中的@Builder注解怎么用
    这篇文章主要介绍Lombok中的@Builder注解怎么用,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!Lombok中的@Builder注解的使用作用@Builder注解的作用主要是用来生成对象,并且可以为对象链式赋...
    99+
    2023-06-25
  • 聊聊Lombok中的@Builder注解使用教程
    目录Lombok中的@Builder注解的使用作用引入依赖第二步给实体类加上@Builder注解第三步使用测试使用@Builder注解生成对象实体类加上@Builder注解之后的编译...
    99+
    2022-11-12
  • 如何解决Lombok注解不起作用的问题
    本篇内容介绍了“如何解决Lombok注解不起作用的问题”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Lombok注解不起作用场景:减少实体类...
    99+
    2023-06-20
  • Lombok中@Builder和@SuperBuilder注解的用法案例
    目录Lombok中@Builder和@SuperBuilder注解的用法@Singular 注解修饰集合@Builder.Default@SuperBuilder@SuperBuil...
    99+
    2023-01-11
    Lombok中@Builder和@SuperBuilder注解 Lombok注解用法
  • 在SpringBoot中使用lombok的注意事项
    目录Lombok需求Lombok的使用开发工具无论是idea还是eclipse都必须要安装插件在项目中依赖Lombok如下简化javabean证明lombok在编译以后会自动生成Lo...
    99+
    2022-11-12
  • Lombok如何使用
    这篇文章主要讲解了“Lombok如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Lombok如何使用”吧! 简单的说,Lombok就是给你的主力机配...
    99+
    2022-10-19
  • 使用Lombok的@Builder注解带来的两大坑
    目录一、@Data和@Builder导致无参构造丢失二、@Builder注解导致默认值无效三、分析原因四、总结一、@Data和@Builder导致无参构造丢失 单独使用@Data注解...
    99+
    2022-11-13
  • Java中Lombok的使用详解
    这篇文章主要介绍“Java中Lombok的使用详解”,在日常操作中,相信很多人在Java中Lombok的使用详解问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Java中Lombok的使用详解”的疑惑有所帮助!...
    99+
    2023-06-16
  • Lombok在idea中如何使用
    这篇文章主要讲解了“Lombok在idea中如何使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“Lombok在idea中如何使用”吧!一、什么是lombok  &nbs...
    99+
    2023-07-05
  • Lombok如何在Spring Boot中使用
    本篇文章给大家分享的是有关Lombok如何在Spring Boot中使用,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。springboot是什么springboot一种全新的编...
    99+
    2023-06-14
  • Java的Lombok如何使用
    本篇内容主要讲解“Java的Lombok如何使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“Java的Lombok如何使用”吧!1)引入相应的maven包:<dependency>...
    99+
    2023-06-16
  • Lombok中关于@Data的使用解析
    目录Lombok@Data注解 内部实现 问题总结 解决方法 Lombok的@Data踩坑记录证明小结一下当你在使用 Lombok 的 @Data 注解时,其实会有一些坑需要关注,今...
    99+
    2022-11-12
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作