Lombok -----此java库 常用的注解及其功能总结
总结
Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。
通过简单的注解,Lombok 能够自动为你的类生成这些方法,从而使得代码更加简洁,同时也减少了出错的机会。
常用的注解及其功能简介
-
@Getter和@Setter:- 这两个注解分别用来生成类中所有字段(或指定字段)的 getter 和 setter 方法。
- 可以添加到类级别或者特定的字段上。
- 例如:
1private String name; 2@Getter @Setter 3private int age;
-
@NoArgsConstructor:- 自动生成一个无参构造器。
- 如果类中有私有的构造器,则需要显式地使用此注解。
-
@AllArgsConstructor:- 自动生成包含类中所有非静态变量的构造函数。
- 对于有多个属性的类来说非常有用。
-
@RequiredArgsConstructor:- 生成包含 final 或者 @NonNull 注解的字段的构造器。
-
@ToString:- 自动生成 toString() 方法,包括类中的所有字段。
- 可以通过配置排除某些字段,如
@ToString(exclude = "password")。
-
@EqualsAndHashCode:- 自动生成 equals 和 hashCode 方法。
- 可以指定哪些字段用于比较,如
@EqualsAndHashCode(of = {"id"})。
-
@Value:- 创建一个不可变的类。
- 所有字段默认是 final,并且会自动生成 getter 方法。
- 类不能被继承。
-
@Builder:- 提供了一个类似 Java 8 Optional 类型的构建者模式实现。
- 允许以流畅的方式创建对象实例,可以指定必填或选填参数。
- 可以与
@AllArgsConstructor结合使用,提供所有字段的构建器。
注意事项
为了使用 Lombok,你需要将它的依赖加入到你的项目中,并确保 IDE 支持 Lombok 插件,以便正确地解析和显示由 Lombok 自动生成的方法。
虽然 Lombok 大大简化了代码,但也有一些争议,比如它增加了编译过程的复杂性,可能对调试造成一定影响等。因此,在使用 Lombok 时,也需要权衡其利弊。
相关文章:
Lombok -----此java库 常用的注解及其功能总结
总结 Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。 通过简单的注解,Lombok 能够自动为你的类生成这些方法…...
纯前端表格导出Excel
先写好两个js文件 直接复制粘贴 文件目录是这样的 Bolb.js /* eslint-disable */ /* Blob.js* A Blob implementation.* 2014-05-27** By Eli Grey, http://eligrey.com* By Devin Samarin, https://github.com/eboyjr* License: X11/MIT* See LICENSE.md*//*global self, …...
sourceTree保姆级教程7:(合并某次提交)
在日常开发过程中,大家有时候并非都是在同一个分支进行开发,可能存在多人的情况下开发。根据上线的需求依次提交代码。当然也可能存在交叉提交的情况。此时应如何在master分支去合并具体某一次的提交呢?下面就开始了: 1.打开本地…...
JVM面试知识点手册
第一部分:JVM 概述 1.1 JVM 简介 Java Virtual Machine(JVM) 是 Java 语言的核心组件,负责将 Java 程序编译后的字节码(bytecode)转换为机器指令,并在目标机器上执行。JVM 提供了硬件和操作系…...
Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象
Vue3.0组合式API系列文章: 《Vue3.0组合式API:setup()函数》 《Vue3.0组合式API:使用reactive()、ref()创建响应式代理对象》 《Vue3.0组合式API:computed计算属性、watch监听器、watchEffect高级监听器》 《Vue3.0组合式API&…...
kubernetes调度2
1、各种缩写的应用 [rootk8s-master test]# kubectl get rsNAME DESIRED CURRENT READY AGEtest001-64c7957b5c 2 2 2 8m59stest001-698b98bb8f 0 0 0 12m[rootk8s-master test]# kubectl get replicas…...
Android中如何处理运行时权限?
在Android中,处理运行时权限是开发过程中一个至关重要的环节,它自Android 6.0(API级别23)引入,旨在提高用户隐私保护和应用的透明度。以下将详细阐述Android中处理运行时权限的方法、步骤、注意事项以及相关的最佳实践…...
【PyCharm】PyCharm:让开发者效率倍增的编程利器
在现代软件开发过程中,选择一款得心应手的编程工具不仅能提高效率,还能让编程过程更加愉悦。而在众多集成开发环境(IDE)中,PyCharm无疑是Python开发者的首选之一。作为一款功能强大、设计精良的IDE,PyCharm…...
Spring Boot- 配置中心问题
Spring Boot 配置中心相关问题探讨 在现代微服务架构中,随着系统规模的扩展和复杂度的增加,配置管理变得越来越重要。每个微服务都可能有大量的配置文件,包括数据库连接信息、缓存配置、消息队列配置等。如果每个服务独立管理配置文件&#…...
字符串专题-1
目录 1.简介 2.例题 2.1找出字符串第一个匹配项的下标 2.2最长公共前缀 2.3最长回文子串 2.4二进制求和 2.5字符串相乘 1.简介 关于字符串匹配的常用算法KMP,我这里只做思路上的说明,具体内容文字和图片写来写去还是有点怪异,这边推荐…...
Unsupervised Deep Representation Learning for Real-Time Tracking
摘要 我们的无监督学习的动机是稳健的跟踪器应该在双向跟踪中有效。具体来说,跟踪器能够在连续帧中前向定位目标对象,并回溯到其在第一帧中的初始位置。基于这样的动机,在训练过程中,我们测量前向和后向轨迹之间的一致性…...
第二讲 数据结构
单链表 826. 单链表 - Acwing题库 数据结构: e[N]:用于存储节点的值的数组。ne[N]:作为“下一个”指针的数组,用于连接节点。head:指向链表头部的索引。idx:当前可用的下一个索引。 初始化: …...
docker部署excalidraw画图工具
0)效果 0.1)实时协作 0.2)导出格式 1)docker安装 docker脚本 bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrorsmain/DockerInstallation.sh)docker-compose脚本 curl -L "https://github.com/…...
5G技术对IT行业的影响及未来发展
5G技术对IT行业的影响及未来发展 随着5G网络的快速部署,全球正进入一个全新的高速连接时代。5G不仅仅是移动通信的升级,它将带来更多的应用场景和改变各个行业的运作方式。本文将探讨5G技术的核心特点、对IT行业的影响,以及未来可能的发展方向…...
字节跳动的微服务独家面经
在之前的文章中也介绍了相关微服务的项目开发知识,那么在本文中我将分享一份来自字节跳动相关岗位的面试经历,在其中我们一起来看看面试问题的详细内容,如果有对微服务的感兴趣的朋友们也可以联系我了解我们的微服务项目,也希望该…...
嵌套函数的例子(TypeScript)
在 TypeScript 中,嵌套函数是指在一个函数内部定义另一个函数。嵌套函数可以访问外部函数的变量(闭包),并且可以在内部进行调用。下面是一个简单的例子来说明嵌套函数的使用: function outerFunction(outerVariable: …...
0915,SOCKET网络编程部分,三种I/O多路复用模型(select ,poll,epoll)
目录 nc 127.0.0.1 port 01_socket_client.cc 01_socket_server.cc 02_select_client.cc 02_select_server.cc 03_poll_server.cc 04_epoll_server.cc 01_socket_client.cc #include <stdlib.h> #include <string.h> #include <sys/stat.h> #inclu…...
HarmonyOS 应用获取公钥和 MD5 指纹签名信息
鸿蒙版本获取 MD5 指纹和公钥可参考如下方式; 首先,通过 AGC 官网 将所需证书下载至本地; 其次,通过记事本或者文本编译器的方式将其正式打开,将其内容中前两项 BEGIN CERTIFICATE 和 END CERTIFICATE 的段落删除,仅保留最后一段中的内容(包括 BEGIN CERTIFICATE 和 END CERTI…...
封装一个录音声音振动效果的组件
目标:根据声音的大小实现声音振动特效 实现步骤: 通过 getAudioCapturerMaxAmplitude 观察音频区间封装振动组件,通过声音振幅数据实现振动效果 落地代码: 1)获取振幅数据,出入振动组件 AudioPage.ets …...
Java、JS与Go的扩展操作符,揭秘它们的‘魔法’!
在这个快节奏的互联网时代,程序员们总是希望能够用更简洁、更高效的方式来编写代码。扩展操作符(Spread Operator)是 JavaScript ES6 引入的重要特性,而 Java 和 Go 也有各自的方式来实现类似的功能。今天,我们就来深入…...
从STM32迁移到普冉PY32F003:UART代码移植保姆级教程(附HAL库对比)
从STM32到普冉PY32F003的UART代码迁移实战指南 1. 国产MCU替代浪潮下的技术选择 近年来,半导体行业的供应链波动促使更多工程师将目光投向国产MCU解决方案。普冉PY32F003系列作为Cortex-M0内核的代表产品,以48MHz主频、64KB Flash和8KB RAM的配置&#x…...
浅聊26上半年软考架构师
2026年上半年架构师考试已然落幕,大家都考的如何?架构师共有三门考试,上午综合知识(75道选择题)案例分析,时间为8.30-12.30;下午论文,时间为14.30-16.30。下面说说我整体的备考过程。…...
WarcraftHelper:魔兽争霸III现代兼容性问题的终极解决方案指南
WarcraftHelper:魔兽争霸III现代兼容性问题的终极解决方案指南 【免费下载链接】WarcraftHelper Warcraft III Helper , support 1.20e, 1.24e, 1.26a, 1.27a, 1.27b 项目地址: https://gitcode.com/gh_mirrors/wa/WarcraftHelper 魔兽争霸III作为经典即时战…...
论文写作效率翻倍?okbiye 毕业论文 AI 功能全解析:从需求到终稿的规范路径
okbiye-免费查重复率aigc检测/开题报告/毕业论文/智能排版/文献综述/AI PPT毕业论文 - Okbiye智能写作https://www.okbiye.com/ai/bylw 一、从界面看本质:okbiye 毕业论文 AI 写作的设计逻辑 打开 okbiye 的毕业论文 AI 写作页面,首先能感受到的是清晰的…...
破解材料数据荒:合成数据与随机森林预测聚合物阻燃性能
1. 项目概述与核心挑战在材料研发领域,尤其是涉及公共安全的聚合物阻燃性研究,传统实验方法正面临巨大瓶颈。想象一下,你是一位材料工程师,需要设计一种用于高铁内饰或高层建筑电缆护套的新型聚合物,其阻燃性能必须满足…...
国内大学生常用的AI写作辅助平台有哪些?
国内高校学生常用的 AI 写作辅助平台,以本土化全流程工具为主,结合通用大模型与专项功能模块,覆盖选题构思、大纲搭建、初稿撰写、语言润色、降重处理、查重检测及格式排版等关键环节,以下是主流平台详解与对比: 一、本…...
XZ6128A工作电压5-100V 输出电流5A 升压型大功率LED灯恒流驱动控制芯片
概述 XZ6128A是一款高效率、高精度的升压型大功率LED灯恒流驱动控制芯片。 XZ6128A内置高精度误差放大器,固定关断时间控制电路,恒流驱动电路等,特别适合大功率、多个高亮度LED灯串的恒流驱动。 XZ6128A采用固定关断时间的控制方式࿰…...
ArduPilot飞行模式实战:从代码角度看Stabilize、Acro、Loiter模式如何切换(附避坑指南)
ArduPilot飞行模式深度解析:从状态机到实战避坑指南 在开源飞控领域,ArduPilot以其强大的飞行模式系统著称。不同于普通用户只需了解模式功能,开发者更需要掌握模式切换的底层机制——这直接关系到飞行安全与二次开发效率。本文将带您深入Sta…...
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包
完整指南:如何在5分钟内快速上手BioAge生物年龄计算工具包 【免费下载链接】BioAge Biological Age Calculations Using Several Biomarker Algorithms 项目地址: https://gitcode.com/gh_mirrors/bi/BioAge BioAge生物年龄计算工具包是一款基于R语言开发的强…...
CMSIS-DAP调试器原理与应用:以Elektor mbed interface为例
1. 项目概述:Elektor mbed interface [150554] 是什么?如果你玩过ARM Cortex-M系列的单片机,尤其是NXP LPC800系列,那你可能对“CMSIS-DAP”这个调试器标准不陌生。它是由ARM官方推出的一个开源调试接口标准,最大的好处…...
