04. 《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》

2023-11-20

《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》

Constructors made to order: Generates constructors that take no arguments, one argument per final / non-null field, or one argument for every field.

1. @NoArgsConstructor

1.1 @NoArgsConstructor 实战使用

@NoArgsConstructor在类上使用,它可以提供一个无参构造器,比如:

@NoArgsConstructor
public class User {
   
    private String username;
    private String password;
}
// 编译后:
public class User {
   
    private String username;
    private String password;

    public User() {
    }
}

当然,有时候我们会使用到单例模式,这个时候我们需要将构造器私有化,那么就可以使用这样一个属性access设置构造器的权限:

@NoArgsConstructor(access = AccessLevel.PRIVATE)
public class User {
   
    private String username;
    private String password;
}
// 编译后:
public class User {
   
    private String username;
    private String password;

    private User() {
   
    }
}

当类中有final字段没有被初始化时,编译器会报错,但是也可用@NoArgsConstructor(force = true),那么Lombok就会为没有初始化的final字段设置默认值 0 / false / null, 这样编译器就不会报错,如下所示:

@NoArgsConstructor(force = true)
public class User {
   
    private final String gender;
    private String username;
    private String password;
}
// 编译后:
public 
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

04. 《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》 的相关文章

随机推荐

  • 一、深度学习之anaconda以及Tensorflow的安装

    1 anaconda安装 在官网Free Download Anaconda下载anaconda5 2 Python3 6 按照下一步直到安装结束 注意 将两个选项都勾选上 将安装路径写入环境变量 2 安装Tensorflow 1 建立一个
  • 围棋吃子问题

    题目 Given a 2D board containing X and O capture all regions surrounded by X A region is captured by flipping all O s into
  • 浮生六记

    浮生六记 目录 浮生六记卷一 闺房记乐 002 浮生六记卷二 闲情记趣 015 浮生六记卷三 坎坷记愁 022 浮生六记卷四 浪游记快 034 浮生六记 2 浮生六记卷一 闺房记乐 余生乾隆癸未冬十一月二十有二日 正值太平盛世 且在 衣冠之
  • Android 性能优化系列:崩溃原因及捕获

    文章目录 崩溃的基本原因 抛出异常导致崩溃分析 AMS 如何承接应用的异常信息上报 对于 native crash 系统如何做处理 系统如何处理 ANR 异常数据 addErrorToDropBox DropBoxManager 在 Cra
  • 用简单易懂的话语来快速入门windows缓冲区溢出

    用简单易懂的话语来快速入门windows的缓冲区溢出教程 准备工具 immunity debugger https www immunityinc com products debugger WINDOWS的程序动态调试工具 Vulnser
  • matlab_多目标遗传算法

    前言 之前写过在python中的多目标遗传算法了 但是很可惜的是python调用商用有限元软件比较费事 需要在ironpython的编译环境下调用 然后这个ironpython它又是个老古董 不支持pandas和numpy这些python必
  • Transformer 模型详解

    本内容主要参照 此篇 然后结合个人理解新增和删减部分内容形成 文章目录 1 1 Transformer 概览 1 2 引入张量 1 3 Self Attention 自注意力 1 3 1 Self Attention 概览 1 3 2 Se
  • VirtualBox虚拟机网络连接设置的四种方式

    VirtualBox是一款SUN出品的非常优秀的虚拟机程序 版本也非常齐全 你可以在官网上找到适合各种操作系统平台的版本 这里我先给大家大致讲解下VBox的网络配置及应用 VirtualBox的提供了四种网络接入模式 它们分别是 1 NAT
  • mid360 SLAM 建图实现

    用别人分享的数据集试了下 室内建图问题不大 室外还不确定
  • Exynos4412 中断驱动开发(一)—— 中断基础及中断的注册过程

    一 中断基础概念 所谓中断 指CPU在执行程序的过程中 出现了某些突发事件即待处理 CPU必须暂停当前的程序 转去处理突发事件 处理完毕后CPU又返回原程序被中断的位置并继续执行 1 中断分类 a 内部中断和外部中断 根据中断的的来源 中断
  • (数据结构)树转换为二叉树、森林转换为二叉树、二叉树转换为树、二叉树转换为森林及树与森林的遍历

    1 树转换为二叉树 1 加线 在所有兄弟结点之间加一条线 2 去线 对树中每个结点 只保留它与第一个孩子结点的连线 删除它与其他孩子结点之间的连线 3 层次调整 以树的根结点为轴心 将整棵树顺时针旋转一定的角度 使之结构层次分明 注意第一个
  • 结束了在MSRA的实习

    从5月到11月底 总共在MSRA渡过了7个月的实习时光 这7个月似乎是我感觉过得最快的7个月 或许是一个人在北京 生活上没有太多的琐事 只有很单纯的工作 于是就有这种时光飞逝的感觉 当然 记忆里面也并非都是工作上的事情 在MSRA还认识来自
  • 通过External Tools在STM32CubeIDE下使用DAP-LINK

    目录 一 文章背景 二 准备工作 2 1 Stm32CubeIDE 2 2 DAP LINK 2 3 STM32目标板 三 配置过程 3 1 连接目标板 3 2 配置仿真器 3 3 更改调试设置为远程调试 3 4 新建OpenOcd扩展工具
  • 5种方法教你用Python玩转histogram直方图

    作者 xiaoyu 知乎 https zhuanlan zhihu com pypcfx 介绍 一个半路转行的数据挖掘工程师 直方图是一个可以快速展示数据概率分布的工具 直观易于理解 并深受数据爱好者的喜爱 大家平时可能见到最多就是 mat
  • 腾讯技术面经-后台-云计算虚拟化部门

    1 笔试 不区分 都是软开岗位 2个小时 一般1小时足够了 25道选择题 10道填空 还有2个选做题 涉及到操作系统 内存 HTTP协议 TCP UDP协议 LLR 0 LLR 1 数据结构 算法 C语言 协议 Ipv4
  • UE5学习笔记(一)——界面功能梳理&第一天知识点记录

    学习UE5的第一步 是软件安装 默认是安装好的 由于安装没有太多技术含量 所以就没有专门做记录 这里有个注意点 虚幻引擎是整合在Epic games launcher中的 也就是说开发引擎内嵌在游戏平台上 打个比方 就是如果你要下unity
  • SpringBoot项目拦截器过滤器配置

    1 我们在配置拦截器时需实现接口HandlerInterceptor package com example springbootdemo common conf interceptor import com example springb
  • QT窗体间传值总结

    在写程序时 难免会碰到多窗体之间进行传值的问题 依照自己的理解 我把多窗体传值的可以使用的方法归纳如下 1 使用QT中的Signal Slot机制进行传值 2 使用全局变量 3 使用public形式的函数接口 4 使用QT中的Event机制
  • pytesseract和PIL库用法是什么?【详细教程】

    Tesseraet是一个命令行工具 安装后只能通过tsseraet命令在Python的外部运行 而不能通过import语句引人使用 为了解决上述问题 Python 提供了支持Tssraec OCR引擎的Python版本的库pytessera
  • 04. 《Lombok 实战 —— @NoArgsConstructor, @RequiredArgsConstructor, @AllArgsConstructor》

    文章目录 Lombok 实战 NoArgsConstructor RequiredArgsConstructor AllArgsConstructor 1 NoArgsConstructor 1 1 NoArgsConstructor 实战