Lombok的@Data注解自动重写equals
我所遇到的问题:
当我看到Lombok的@EqualsAndHashCode注解可以重写equals和hashcode时,就像自己操作一下。
然后。。。
package domain;import lombok.AllArgsConstructor;
import lombok.Data;@Data
@AllArgsConstructor
public class User {private String name;private int age;
}
import domain.User;public class UserTest {public static void main(String[] args) {User user1 = new User("szt", 18);User user2 = new User("szt", 18);if (user1.equals(user2))System.out.println("相等");elseSystem.out.println("不相等");}
}
竟然相等了!!!
一度怀疑自己对equals的理解
反复验证始终找不到问题所在
。
。
。
查了半天才发现@Data 注解会自动添加@EqualsAndHashCode注解
Lombok 的 @Data 注解可以为 Java 类自动生成 equals() 和 hashCode() 方法!!!
使用 @Data 注解会自动添加以下注解:
@Getter
@Setter
@RequiredArgsConstructor
@ToString
@EqualsAndHashCode
Lombok的@Data注解自动重写equals相关推荐
- Lombok通过@Data注解生成get/set方法时,不生成某个字段的get/set方法
当通过Lombok的@Data注解生成get/set方法时,如果不想生成username的get/set方法时,可以在username字段上加上注解 @Getter(AccessLevel.NONE) ...
- Lombok中@Data注解 @ToString注解 @NoArgsConstructo注解 @AllArgsConstructor注解
1:项目中引入依赖 <dependency><groupId>org.projectlombok</groupId><artifactId>lombok ...
- Lombok的@Data生成的hashCode和equals方法坑
一.场景复现 创建两个lombok的@Data注解的类Pig实例,放进HashMap当key,map里面的数据居然被覆盖了. package com.mk;import lombok.Data; @D ...
- IDEA自动重写的equals方法分析
文章目录 一.创建类和自动重写equals方法 二.分析 一.创建类和自动重写equals方法 随便创建一个类,然后ctrl+insert生成equals方法 class Student {Strin ...
- dataobject java_Object类和@Data注解
特别说明:若是有不对的地方欢迎指正 简要概述: Object类是java中所有类默认继承的一个类.下面介绍一下Object类中的一些重要的方法,面试中也是经常会被问到的.尤其是==和equals的区别 ...
- lombok 中的@Data注解
今天看到有代码中的Dao包中的类文件,写的极其简洁,甚至引起了开发工具InteliJ的报错,然后程序还能稳健地跑起来. 1 2 3 4 5 6 7 8 9 import lombok.Data; @D ...
- lombok工具中@Data注解问题
2019独角兽企业重金招聘Python工程师标准>>> @Data的主要问题,应该是equals()方法,hashCode()方法等的重写问题. 这里,推荐阅读以下,这几篇博客,有助 ...
- lombok中的@Data注解与MyBatis的懒加载机制冲突解决
使用@Data注解与mybatis的懒加载机制实现一对一关系查询时,发现怎么配置都无效,就是一下都查出来了,根本没有懒加载 1.application.yml配置文件配置如下: # mybatis 配 ...
- lombok之@NoArgsConstructor、@AllArgsConstructor和@Data注解
import lombok.Data; import lombok.AllArgsConstructor; import lombok.NoArgsConstructor;@Data @NoArgsC ...
最新文章
- leetcode算法题--扁平化多级双向链表★
- 【安全牛学习笔记】拒绝服务***工具
- linux工具之检测内存泄漏-valgrind
- 分布式认证需求-统一认证授权
- jvm配置参数,查看大对象直接分配到老年代
- Powershell 最大值堆栈实现
- 【Java数据结构】二叉排序树
- 五、K8s pod相关操作(1)
- 信锐nac6100管理口怎么进去_建盏生锈了怎么办?
- Mysql用户与权限操作
- CNN手写汉字识别参数调整
- 东方精工、普莱德商誉“罗生门”,谁在扯谎?
- CSS溢出文字使用省略号表示
- 在微软工作365天,还你一个我眼中更加真实的微软
- 钉钉、企业微信平台发送工资条程序--燕春科技工资条管理系统2.0
- Java GUI编写一个简单的抽奖机
- 职场经验:游戏测试的主要工作及主要流程
- 写给20岁左右的读者朋友
- 笔记3:关于VBS整人代码的浅谈
- 自己动手写 printf函数