当前位置: 首页 > news >正文

Lombok -----此java库 常用的注解及其功能总结

总结

        Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。       

        通过简单的注解,Lombok 能够自动为你的类生成这些方法,从而使得代码更加简洁,同时也减少了出错的机会。


常用的注解及其功能简介

  1. @Getter@Setter

    • 这两个注解分别用来生成类中所有字段(或指定字段)的 getter 和 setter 方法。
    • 可以添加到类级别或者特定的字段上。
    • 例如:
      1private String name;
      2@Getter @Setter
      3private int age;
  2. @NoArgsConstructor

    • 自动生成一个无参构造器。
    • 如果类中有私有的构造器,则需要显式地使用此注解。
  3. @AllArgsConstructor

    • 自动生成包含类中所有非静态变量的构造函数。
    • 对于有多个属性的类来说非常有用。
  4. @RequiredArgsConstructor

    • 生成包含 final 或者 @NonNull 注解的字段的构造器。
  5. @ToString

    • 自动生成 toString() 方法,包括类中的所有字段。
    • 可以通过配置排除某些字段,如 @ToString(exclude = "password")
  6. @EqualsAndHashCode

    • 自动生成 equals 和 hashCode 方法。
    • 可以指定哪些字段用于比较,如 @EqualsAndHashCode(of = {"id"})
  7. @Value

    • 创建一个不可变的类。
    • 所有字段默认是 final,并且会自动生成 getter 方法。
    • 类不能被继承。
  8. @Builder

    • 提供了一个类似 Java 8 Optional 类型的构建者模式实现。
    • 允许以流畅的方式创建对象实例,可以指定必填或选填参数。
    • 可以与 @AllArgsConstructor 结合使用,提供所有字段的构建器。


注意事项

        为了使用 Lombok,你需要将它的依赖加入到你的项目中,并确保 IDE 支持 Lombok 插件,以便正确地解析和显示由 Lombok 自动生成的方法。

        虽然 Lombok 大大简化了代码,但也有一些争议,比如它增加了编译过程的复杂性,可能对调试造成一定影响等。因此,在使用 Lombok 时,也需要权衡其利弊。

相关文章:

Lombok -----此java库 常用的注解及其功能总结

总结 Lombok 是一个 Java 库,它可以帮助开发者减少在 Java 中编写那些繁琐的“boilerplate”代码的工作量,比如 getter 方法、setter 方法、构造函数、toString 方法等。 通过简单的注解,Lombok 能够自动为你的类生成这些方法&#xf…...

纯前端表格导出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

摘要 我们的无监督学习的动机是稳健的跟踪器应该在双向跟踪中有效。具体来说,跟踪器能够在连续帧中前向定位目标对象,并回溯到其在第一帧中的初始位置。基于这样的动机,在训练过程中,我们测量前向和后向轨迹之间的一致性&#xf…...

第二讲 数据结构

单链表 826. 单链表 - Acwing题库 数据结构: e[N]:用于存储节点的值的数组。ne[N]:作为“下一个”指针的数组,用于连接节点。head:指向链表头部的索引。idx:当前可用的下一个索引。 初始化: …...

docker部署excalidraw画图工具

0&#xff09;效果 0.1&#xff09;实时协作 0.2&#xff09;导出格式 1&#xff09;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网络的快速部署&#xff0c;全球正进入一个全新的高速连接时代。5G不仅仅是移动通信的升级&#xff0c;它将带来更多的应用场景和改变各个行业的运作方式。本文将探讨5G技术的核心特点、对IT行业的影响&#xff0c;以及未来可能的发展方向…...

字节跳动的微服务独家面经

在之前的文章中也介绍了相关微服务的项目开发知识&#xff0c;那么在本文中我将分享一份来自字节跳动相关岗位的面试经历&#xff0c;在其中我们一起来看看面试问题的详细内容&#xff0c;如果有对微服务的感兴趣的朋友们也可以联系我了解我们的微服务项目&#xff0c;也希望该…...

嵌套函数的例子(TypeScript)

在 TypeScript 中&#xff0c;嵌套函数是指在一个函数内部定义另一个函数。嵌套函数可以访问外部函数的变量&#xff08;闭包&#xff09;&#xff0c;并且可以在内部进行调用。下面是一个简单的例子来说明嵌套函数的使用&#xff1a; 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…...

封装一个录音声音振动效果的组件

目标&#xff1a;根据声音的大小实现声音振动特效 实现步骤&#xff1a; 通过 getAudioCapturerMaxAmplitude 观察音频区间封装振动组件&#xff0c;通过声音振幅数据实现振动效果 落地代码&#xff1a; 1&#xff09;获取振幅数据&#xff0c;出入振动组件 AudioPage.ets …...

Java、JS与Go的扩展操作符,揭秘它们的‘魔法’!

在这个快节奏的互联网时代&#xff0c;程序员们总是希望能够用更简洁、更高效的方式来编写代码。扩展操作符&#xff08;Spread Operator&#xff09;是 JavaScript ES6 引入的重要特性&#xff0c;而 Java 和 Go 也有各自的方式来实现类似的功能。今天&#xff0c;我们就来深入…...

响应性负载的参考信号发生器不适用于SRF,改进后的SRF生成与Vs同相的参考信号附Simulink仿真

✅作者简介&#xff1a;热爱科研的Matlab仿真开发者&#xff0c;擅长数据处理、建模仿真、程序设计、完整代码获取、论文复现及科研仿真。&#x1f34e; 往期回顾关注个人主页&#xff1a;Matlab科研工作室&#x1f34a;个人信条&#xff1a;格物致知,完整Matlab代码及仿真咨询…...

基于VLFM的中文指令视觉语言导航系统设计与实现

基于VLFM的中文指令视觉语言导航系统设计与实现 一、引言 1.1 项目背景 视觉语言导航(Vision Language Navigation,VLN)是具身智能领域的核心任务之一,其目标是让智能体根据自然语言指令在三维环境中自主导航,完成路径规划与空间定位任务[reference:0]。近年来,随着大…...

从Pico到Pico W:无线加持下,树莓派微控制器如何重塑物联网原型设计

1. 从有线到无线的跨越&#xff1a;Pico W带来的物联网革命 记得我第一次用树莓派Pico做智能温湿度计项目时&#xff0c;被传感器布线折腾得够呛。为了把数据传到服务器&#xff0c;不得不在面包板上插满杜邦线&#xff0c;最后成品活像只炸毛的刺猬。直到Pico W出现&#xff…...

OriginPro 2023保姆级教程:三步搞定柱状图+点线图组合,让你的科研图表颜值飙升

OriginPro 2023科研图表优化实战&#xff1a;从基础绘图到期刊级组合图表 科研图表是学术论文的"门面"&#xff0c;一张精心设计的图表往往能让审稿人和读者眼前一亮。OriginPro作为科研绘图领域的标杆工具&#xff0c;其2023版本在图表组合和视觉优化方面带来了诸多…...

终极指南:使用android-advancedrecyclerview实现状态保存的拖拽列表

终极指南&#xff1a;使用android-advancedrecyclerview实现状态保存的拖拽列表 【免费下载链接】android-advancedrecyclerview RecyclerView extension library which provides advanced features. (ex. Googles Inbox app like swiping, Play Music app like drag and drop …...

3步打造个人数字时光机:GetQzonehistory备份QQ空间全攻略

3步打造个人数字时光机&#xff1a;GetQzonehistory备份QQ空间全攻略 【免费下载链接】GetQzonehistory 获取QQ空间发布的历史说说 项目地址: https://gitcode.com/GitHub_Trending/ge/GetQzonehistory 你是否曾担心QQ空间里承载青春记忆的说说突然消失&#xff1f;GetQ…...

50 岁苹果:变与不变的科技传奇

从车库小作坊到行业巨头&#xff1a;苹果早期的革命之路1976 年&#xff0c;在科技巨头普遍认为电脑仅供企业和政府使用时&#xff0c;乔布斯和沃兹尼亚克在车库用零件组装出 Apple I&#xff0c;虽像半成品却为苹果拿到启动资金。次年的 Apple II 才是关键&#xff0c;它是第一…...

公共部门人力资源管理、公共行政学、公共经济学(自考速记核心概念)

公共部门人力资源管理、公共行政学、公共经济学&#xff08;自考速记核心概念&#xff09; 第一页&#xff08;核心基础规划与获取&#xff09; 一、核心基础概念&#xff08;必背&#xff09; 1.公共部门人力资源管理&#xff1a;公共部门&#xff08;政府、事业单位、非营…...

藏在化橘红里的数字农业隐喻:拼多多将“地方风物”做成了新爆款

图片 2026年两会期间&#xff0c;化橘红因为一个点赞意外“出圈”。 不少人将化橘红的“走红”归结为偶然的流量红利&#xff0c;只要深入化橘红的产业肌理&#xff0c;就会发现并非是一场单纯的“流量造神”&#xff0c;而是电商供应链、新农人回流、产业化升级交织下的必然。…...

优化TJpgDec在MM32F5微控制器上的图像解码性能 - 基于MindSDK的实践探索

1. TJpgDec在嵌入式系统中的独特价值 第一次接触TJpgDec是在三年前的一个智能家居项目里&#xff0c;当时需要在资源受限的STM32F407上实现图片显示功能。市面上常见的JPEG解码库要么体积庞大&#xff0c;要么对内存要求极高&#xff0c;直到发现了ChaN开发的这个轻量级解决方案…...