Lombok的@Data注解包含的方法(没有全参构造方法)

news2024/11/27 6:15:19

Lombok的@Data注解包含的方法(没有全参构造方法)

目录

  • Lombok的@Data注解包含的方法(没有全参构造方法)
    • 结论:
    • 测试:
      • 1.Maven引入依赖
      • 2.安装lombok插件
      • 3.编写实体类
      • 4.编译
      • 5.查看target文件
      • 6.编译后的源代码

结论:

@Data : 注解在实体类上,提供类的get、set、equals、hashCode、canEqual、toString、无参构造方法。注意:没有全参构造方法。

测试:

1.Maven引入依赖

  		<dependency>
            <groupId>org.projectlombok</groupId>
            <artifactId>lombok</artifactId>
            <optional>true</optional>
        </dependency>

2.安装lombok插件

在这里插入图片描述

3.编写实体类

/**
 * 用户数据的实体类
 */
@Data
public class User implements Serializable {
    private Integer uid;
    private String username;
    private String password;
    private String salt;
    private String phone;
    private String email;
    private Integer gender;
    private String avatar;
    private Integer isDelete;
}

4.编译

点击compile进行编译。
在这里插入图片描述

5.查看target文件

在这里插入图片描述

6.编译后的源代码

 public class User implements Serializable {
    private Integer uid;
    private String username;
    private String password;
    private String salt;
    private String phone;
    private String email;
    private Integer gender;
    private String avatar;
    private Integer isDelete;
 
    public User() {
    }
 
    public Integer getUid() {
        return this.uid;
    }
 
    public String getUsername() {
        return this.username;
    }
 
    public String getPassword() {
        return this.password;
    }
 
    public String getSalt() {
        return this.salt;
    }
 
    public String getPhone() {
        return this.phone;
    }
 
    public String getEmail() {
        return this.email;
    }
 
    public Integer getGender() {
        return this.gender;
    }
 
    public String getAvatar() {
        return this.avatar;
    }
 
    public Integer getIsDelete() {
        return this.isDelete;
    }
 
    public void setUid(final Integer uid) {
        this.uid = uid;
    }
 
    public void setUsername(final String username) {
        this.username = username;
    }
 
    public void setPassword(final String password) {
        this.password = password;
    }
 
    public void setSalt(final String salt) {
        this.salt = salt;
    }
 
    public void setPhone(final String phone) {
        this.phone = phone;
    }
 
    public void setEmail(final String email) {
        this.email = email;
    }
 
    public void setGender(final Integer gender) {
        this.gender = gender;
    }
 
    public void setAvatar(final String avatar) {
        this.avatar = avatar;
    }
 
    public void setIsDelete(final Integer isDelete) {
        this.isDelete = isDelete;
    }
 
    public boolean equals(final Object o) {
        if (o == this) {
            return true;
        } else if (!(o instanceof User)) {
            return false;
        } else {
            User other = (User)o;
            if (!other.canEqual(this)) {
                return false;
            } else {
                label119: {
                    Object this$uid = this.getUid();
                    Object other$uid = other.getUid();
                    if (this$uid == null) {
                        if (other$uid == null) {
                            break label119;
                        }
                    } else if (this$uid.equals(other$uid)) {
                        break label119;
                    }
 
                    return false;
                }
 
                Object this$gender = this.getGender();
                Object other$gender = other.getGender();
                if (this$gender == null) {
                    if (other$gender != null) {
                        return false;
                    }
                } else if (!this$gender.equals(other$gender)) {
                    return false;
                }
 
                label105: {
                    Object this$isDelete = this.getIsDelete();
                    Object other$isDelete = other.getIsDelete();
                    if (this$isDelete == null) {
                        if (other$isDelete == null) {
                            break label105;
                        }
                    } else if (this$isDelete.equals(other$isDelete)) {
                        break label105;
                    }
 
                    return false;
                }
 
                Object this$username = this.getUsername();
                Object other$username = other.getUsername();
                if (this$username == null) {
                    if (other$username != null) {
                        return false;
                    }
                } else if (!this$username.equals(other$username)) {
                    return false;
                }
 
                label91: {
                    Object this$password = this.getPassword();
                    Object other$password = other.getPassword();
                    if (this$password == null) {
                        if (other$password == null) {
                            break label91;
                        }
                    } else if (this$password.equals(other$password)) {
                        break label91;
                    }
 
                    return false;
                }
 
                Object this$salt = this.getSalt();
                Object other$salt = other.getSalt();
                if (this$salt == null) {
                    if (other$salt != null) {
                        return false;
                    }
                } else if (!this$salt.equals(other$salt)) {
                    return false;
                }
 
                label77: {
                    Object this$phone = this.getPhone();
                    Object other$phone = other.getPhone();
                    if (this$phone == null) {
                        if (other$phone == null) {
                            break label77;
                        }
                    } else if (this$phone.equals(other$phone)) {
                        break label77;
                    }
 
                    return false;
                }
 
                label70: {
                    Object this$email = this.getEmail();
                    Object other$email = other.getEmail();
                    if (this$email == null) {
                        if (other$email == null) {
                            break label70;
                        }
                    } else if (this$email.equals(other$email)) {
                        break label70;
                    }
 
                    return false;
                }
 
                Object this$avatar = this.getAvatar();
                Object other$avatar = other.getAvatar();
                if (this$avatar == null) {
                    if (other$avatar != null) {
                        return false;
                    }
                } else if (!this$avatar.equals(other$avatar)) {
                    return false;
                }
 
                return true;
            }
        }
    }
 
    protected boolean canEqual(final Object other) {
        return other instanceof User;
    }
 
    public int hashCode() {
        int PRIME = true;
        int result = 1;
        Object $uid = this.getUid();
        int result = result * 59 + ($uid == null ? 43 : $uid.hashCode());
        Object $gender = this.getGender();
        result = result * 59 + ($gender == null ? 43 : $gender.hashCode());
        Object $isDelete = this.getIsDelete();
        result = result * 59 + ($isDelete == null ? 43 : $isDelete.hashCode());
        Object $username = this.getUsername();
        result = result * 59 + ($username == null ? 43 : $username.hashCode());
        Object $password = this.getPassword();
        result = result * 59 + ($password == null ? 43 : $password.hashCode());
        Object $salt = this.getSalt();
        result = result * 59 + ($salt == null ? 43 : $salt.hashCode());
        Object $phone = this.getPhone();
        result = result * 59 + ($phone == null ? 43 : $phone.hashCode());
        Object $email = this.getEmail();
        result = result * 59 + ($email == null ? 43 : $email.hashCode());
        Object $avatar = this.getAvatar();
        result = result * 59 + ($avatar == null ? 43 : $avatar.hashCode());
        return result;
    }
 
    public String toString() {
        Integer var10000 = this.getUid();
        return "User(uid=" + var10000 + ", username=" + this.getUsername() + ", password=" + this.getPassword() + ", salt=" + this.getSalt() + ", phone=" + this.getPhone() + ", email=" + this.getEmail() + ", gender=" + this.getGender() + ", avatar=" + this.getAvatar() + ", isDelete=" + this.getIsDelete() + ")";
    }
}

查看编译后的代码可以看到有get、set、equals、hashCode、canEqual、toString、无参构造方法,并没有全参构造方法
想要全参构造方法需要添加 @AllArgsConstructor 注解。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/27228.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

实用的3款视频添加水印软件分享,简单易上手

如今刷短视频已经成为许多小伙伴饭后闲暇之余消遣的项目&#xff0c;也有不少人因此加入了创作短视频的队列。但是在分享前&#xff0c;最好是对自己的作品加上水印。为什么呢&#xff1f;第一是可以起到更好的宣传作用&#xff0c;第二是防止他人盗窃作品内容&#xff0c;毕竟…

卷积输入输出维度计算公式,Conv, Dilation Conv, Padding, Kernel_size, Output的维度计算关系

define i input o output p padding k kernel_size s stride d dilation 公式 o [i 2p - k - (k-1)(d-1)]/s 1 举例 当 padding “same” 时&#xff0c;输入尺度和输出尺度相同。 oi 则有&#xff1a; p[(i-1)s-i k(k-1)(d-1)]*0.5 假设 k5, s1, 那么 p[(i-1) …

深度学习入门---《白话机器学习的数学》笔记

文章目录一、基础&#xff1a;回归的实现1、训练数据click.csv2、参考公式&#xff1a;3、代码实现&#xff1a;4、运行结果&#xff1a;5、验证&#xff1a;二、多项式回归1、参考公式2、代码实现3、运行结果三、随机梯度下降法的实现1、参考公式小批量&#xff08;mini-batch…

F. Quests(二分)

Problem - F - Codeforces 有n个任务。如果你完成第i个任务&#xff0c;你将获得ai币。你每天最多只能完成一个任务。然而&#xff0c;一旦你完成了一个任务&#xff0c;在K天内你不能再做同样的任务。(例如&#xff0c;如果k2&#xff0c;你在第1天做了任务1&#xff0c;那么你…

radiantq:jQuery Gantt Package--好使的HTML5甘特图

Radiantq--jQuery Gantt Package是一个真正跨平台的、基于原生 HTML5/jQuery 的实现&#xff0c;带有 2 个不同的甘特图小部件。 部署在众多垂直领域 无论您的应用程序属于哪个领域&#xff0c;甘特图都是基于时间的信息的理想可视化工具&#xff0c;包括在软件开发、施工、钻井…

JNoteHelper 给你的java swing或桌面程序提供一双翅膀

JNoteHelper 使用swing构建的java程序, 主要基于miglayout,swingx,flatlatf, 本来打算作为个人笔记的助手, 但是事与愿违, 发现理想和现实很骨感. 项目基于windows测试及开发 ,所以运行效果图片都基于windows 截图 1. 项目地址 JNoteHelper github地址 gitee地址 gitcode地址…

玩法专利获批,发布4年《Beat Saber》为何持续火爆

从2018年首次上线以来&#xff0c;《Beat Saber》被大家爱了4年多&#xff0c;直到现在热度未减&#xff0c;依然是史上最赚钱的VR游戏之一。该作最开始的概念&#xff0c;就是用红、蓝两色的光剑&#xff0c;根据箭头方向和节奏去切方块&#xff0c;玩法简单爽快&#xff0c;受…

Qt QSS QSlider样式

本文章主要学习QSlider样式 准备下面几张背景图片&#xff1a; 调小图标 、调大图标 ​、QSlider位置图标 ​QSlider划过的背景图标 ​、QSlider未划过的背景图标 ​最终效果图 自己创建一个QSlider工程&#xff0c;此处省略…… CSDN QT大纲&#xff1a;Qt开发必备技术栈学…

[附源码]java毕业设计鞋店销售管理

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

DM-VERITY流程分析

DM-Verity分析报告 0.问题的表现形式 1.dm-verity的初始化及验证流程 1.1 dm-verity的初始化 初始化dm的log: [ 3.579718] md: Waiting for all devices to be available before autodetect [ 3.586549] md: If you dont use raid, use raidnoautodetect [ 3.594…

Allegro如何录制SCR快捷键操作指导

Allegro如何录制SCR快捷键操作指导 Allegro可以录制SCR快捷键,里面记录了一些操作,类似一个插件,使用的时候可以直接调用,节省时间。下面介绍如何录制 选择file-Script 会出现一个对话框,任意输入一个名字,比如666 然后点击record 比如录制一个打开层面的scr,操作如…

基于matlab的排队系统仿真

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 三、测试结果 一、理论基础 排队系统是基本的离散事件系统&#xff0c;了解掌握离散事件系统是研究排队系统仿真不可或缺的前提。离散事件系统是指其状态变量只在某些离散时…

SAP-FICO概览培训 的PPT 文档

目录 SAP ERP 系统功能模块概览 财务会计&#xff08;FI&#xff09;、管理会计&#xff08;CO&#xff09; 财务会计&#xff08;FI&#xff09;、管理会计&#xff08;CO&#xff09;需求出发点 FI 与CO灵活性对比 财务会计&#xff08;FI&#xff09; 财务业务一体化平台示…

JSP概述

JSP JSP是Sun为了解决动态生成HTML文档的技术&#xff0c;通过Servlet输出简单html页面信息都非常不方便。如果要输出一个复杂页面的时候&#xff0c;就更加的困难&#xff0c;而且不利于页面的维护和调试。所以sun公司推出一种叫做jsp的动态页面技术来实现对页面的输出繁锁工…

四维轻云地理空间数据协作管理平台的使用流程介绍

倾斜摄影模型和点云数据采集制作完成后&#xff0c;很多行业在进行数据查看管理和共享时具有很大的不便&#xff0c;通常需要依赖专业软件才能在电脑上进行浏览&#xff0c;倘若想将数据分享给他人查看&#xff0c;则需要进行大文件传输以及让对方安装专业软件。现如今&#xf…

年薪百万的程序员,上网都在看什么?

这个问题相信不少人都好奇&#xff0c;我揪出一位年薪百万的程序员老友&#xff0c;翻遍他的收藏夹&#xff0c;总结整理了6个网站&#xff0c;甩出来给大家。 有几个干货网站大家记得当场保存&#xff0c;要不然划过就忘了&#xff01;&#xff01; 国际各行业报告&#xff1…

python 异步线程 实现 异步生产 同步通信

🍿*★,*:.☆欢迎您/$:*.★* 🍿 目录 背景 正文 总结 背景描述

傅里叶变换的四种形式

此文转自知乎的jinjin 傅里叶变换的四种形式 - 知乎 傅里叶变换是信号的一种描述方式&#xff0c;通过增加频域的视角&#xff0c;将时域复杂波形表示为简单的频率函数&#xff0c;获得时域不易发现的与信号有关的其他特征。 根据时间域信号x自变量的不同&#xff0c;可以将信号…

sqli-labs/Less-45

这一关有没有报错信息 所以我们不能从报错信息中得知注入类型 我们只能通过登陆成功或者失败去辨别我们判断的注入类型正确与否 然后我们也不懂注入点 所以只能进行尝试了 如果两个参数在SQL语句中都被单引号包裹住 那么假设username为注入点输入如下 username admin# pass…

【强大的数据迁移和恢复解决方案】KernelApps及其产品介绍

KernelApps是 范围广泛的强大的数据迁移和 恢复解决方案 可以根据用户的需求提供多种采购方案 KernelApps提供 交换服务器、Office 365、 电子邮件迁移、Outlook等方面工具 其产品包括数据恢复、文件修复、 数据迁移、电子邮件迁移、 媒体恢复、云备份、云迁移等解决方…