@Data 注解
简介
对于 Data 注解基本理解而言就是生成 getter & setter 函数
但是经过探究
不单单有getter & setter 还有 toString方法 hashCode 方法 和 equals 方法。
原代码
import lombok.Data;
@Data
public class TestDTO {
private Integer age;
private String name;
}
编译后的代码
public class TestDTO {
private Integer age;
private String name;
public TestDTO() {
}
public Integer getAge() {
return this.age;
}
public String getName() {
return this.name;
}
public void setAge(final Integer age) {
this.age = age;
}
public void setName(final String name) {
this.name = name;
}
public boolean equals(final Object o) {
if (o == this) {
return true;
} else if (!(o instanceof TestDTO)) {
return false;
} else {
TestDTO other = (TestDTO)o;
if (!other.canEqual(this)) {
return false;
} else {
Object this$age = this.getAge();
Object other$age = other.getAge();
if (this$age == null) {
if (other$age != null) {
return false;
}
} else if (!this$age.equals(other$age)) {
return false;
}
Object this$name = this.getName();
Object other$name = other.getName();
if (this$name == null) {
if (other$name != null) {
return false;
}
} else if (!this$name.equals(other$name)) {
return false;
}
return true;
}
}
}
protected boolean canEqual(final Object other) {
return other instanceof TestDTO;
}
public int hashCode() {
int PRIME = true;
int result = 1;
Object $age = this.getAge();
int result = result * 59 + ($age == null ? 43 : $age.hashCode());
Object $name = this.getName();
result = result * 59 + ($name == null ? 43 : $name.hashCode());
return result;
}
public String toString() {
return "TestDTO(age=" + this.getAge() + ", name=" + this.getName() + ")";
}
}
@Data 注解的更多相关文章
- @Data 注解引出的 lombok 小辣椒
今天在看代码的时候, 看到了这个注解, 之前都没有见过, 所以就查了下, 发现还是个不错的注解, 可以让代码更加简洁. 这个注解来自于 lombok,lombok 能够减少大量的模板代码,减少了在使用 ...
- springboot使用@data注解,减少不必要代码
一.idea安装lombok插件 二.重启idea 三.添加maven依赖 <dependency> <groupId>org.projectlombok</groupI ...
- lombok标签之@Data @AllArgsConstructor @@NoArgsConstructor -如何去除get,set方法。@Data注解和如何使用,lombok
在代码中我们可以只加上标签@Data 而不用get,set方法: val : 和 scala 中 val 同名, 可以在运行时确定类型; @NonNull : 注解在参数上, 如果该类参数为 null ...
- lombok 中的@Data注解
今天看到有代码中的Dao包中的类文件,写的极其简洁,甚至引起了开发工具InteliJ的报错,然后程序还能稳健地跑起来. import lombok.Data; @Data public class V ...
- 项目实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错,eclipse中配置lombok
@Data注解来源与Lombok,可以减少代码中大量的set get方法,大量减少冗余代码,但是今天部署项目时候,发现实体类使用@Data注解,但是项目业务类中使用getA(),setA()方法报错. ...
- @Value注解 和 @Data注解
@Value注解 service层代码 @Service public class HelloServiceImpl implements HelloService { @Autowired priv ...
- Object类和@Data注解
特别说明:若是有不对的地方欢迎指正 简要概述: Object类是java中所有类默认继承的一个类.下面介绍一下Object类中的一些重要的方法,面试中也是经常会被问到的.尤其是==和equals的区别 ...
- @Data注解简化代码
1 Lombok背景介绍 官方介绍如下: Project Lombok makes java a spicier language by adding 'handlers' that know how ...
- java @Value注解 和 @Data注解
@Value注解 service层代码 @Service public class HelloServiceImpl implements HelloService { @Autowired priv ...
- 继承关系中子类使用@Data注解问题
HashSet中使用@Data注解问题 平时习惯使用lombok工具,免去了我们写get.set方法之类的,当然了,我们使用@Data注解后,equals().hashCode().toString( ...
随机推荐
- Asp.net mvc基础(十一)数据验证
1.获取验证失败错误 asp.net mvc会自动根据属性的类型进行基本的校验,但Asp.net mvc并不是在请求验证失败的时候抛异常,而是把决定权交给开发人员,开发人员需要决定如何处理数据校验失败 ...
- eolinker响应预处理/规则校验:js正则写法注意事项
JS的正则表达式的写法,需要对原有正则表达式进行适当加工才可正常使用 如:(正则表达式规则取到"/did1280064/Login") 常规的正则表达式为"did(\d+ ...
- eolinker响应预处理:接口延时执行下一步的方法
后置代码内加入如下代码: function sleep(milliSeconds){ var startTime = new Date().getTime(); // get the current ...
- 小结.NET 9性能优化黑科技:从内存管理到Web性能的最全指南
引言:性能优化的重要性与 .NET 9 的性能提升 ❝ 性能优化不仅关乎代码执行效率,还直接影响用户满意度和系统可扩展性.例如,一个响应缓慢的 Web 应用可能导致用户流失,而一个内存占用过高的服务可 ...
- DPDI(Dispatch PDI)kettle调度管理平台升级预告
亲爱的DPDI用户们,久等了!Dispatch PDI全新升级,焕然一新的UI页面计划于2025.03.23正式上线.这一次,我们精心打磨每一个细节,只为给您带来前所未有的丝滑体验,让每一次浏览都成为 ...
- kettle安装文件下载(含多版本)
kettle是一款基于java开发的洗数工具,可以通过图像化的操作界面,拖拉拽的操作方式,实现数据导入导出清洗等功能,还支持编写脚本进行数据处理,功能十分强大. 本文主要记录一下kettle各版本下载 ...
- OpenEuler22.03源码编译安装nginx1.24.0
一.环境说明 操作系统版本:OpenEuler22.03 SP2 LTS Nginx版本:1.24.0 安装位置:/app/nginx Selinux配置:关闭或设置为permissive 二.Ngi ...
- Linux系统中的软件管理
简介 Linux 系统中的软件管理体系主要包括软件包管理工具.软件仓库以及相关的依赖管理等方面.以下是详细介绍: 软件包管理工具 dpkg:Debian 及其衍生系统(如 Ubuntu)使用的底层软件 ...
- K8s容器运行时,移除Dockershim后存在哪些疑惑?
K8s容器运行时,移除Dockershim后存在哪些疑惑? 大家好,我是秋意零. K8s版本截止目前(24/09)已经发布到了1.31.x版本.早在K8s版本从1.24.x起(22/05),默认的容器 ...
- 当数据爆炸遇上SQL Server:优化策略全链路解析
在数据驱动的时代,海量数据冲击下的数据库性能成为系统成败的关键.SQL Server作为企业级数据库的常青树,面对单表亿级数据量时,我们往往陷入分库分表与否的抉择困境. 我们站在SQL Server视 ...