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 时,也需要权衡其利弊。

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

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

相关文章

大模型推理性能优化

LLM 推理的核心指标 首 Token 延迟(决定了用户体验) 延迟:从输入到输出最后一个 token 的延迟 吞吐量:每秒针对所有请求生成的 token 数(针对所有并发请求) 推理的性能卡点 1. KV-Cache 大小导致并发能力受限 LLM推理的过程是一个自回归的过程,前 i 次的token会作为…

Linux StableDiffusion下载外网插件失败, 自己下载安装

(sd) zhouyueubun:/data/sd-webui-aki-v4.9$ python webui.py 先看看使用插件时报的错 看截图就知道是SmilingWolf/wd-v1-4-vit-tagger-v2包不存在 先加载本地包,由于本地包没有,自动下载外网的包,需要科学上网访问外网网站哈。 https://h…

【千帆AppBuilder】零代码+组件+代码节点方式实现AI应用《法定退休年龄计算器》

欢迎来到《小5讲堂》 这是《千帆》系列文章,每篇文章将以博主理解的角度展开讲解。 温馨提示:博主能力有限,理解水平有限,若有不对之处望指正! 目录 背景创建应用基本信息角色指令引导信息 组件整体界面开始节点代码节…

tomcat服务搭建部署ujcms网站

tomcat服务搭建部署ujcms网站 关闭selinux和防火墙 setenforce 0 && systemctl stop firewalld安装java环境 #卸载原有java8环境 yum remove java*#上传java软件包,并解压缩 tar -xf openjdk-11.0.1_linux-x64_bin.tar.gz && mv jdk-11.0.1 jdk11…

绝缘子缺陷检测数据集

绝缘子缺陷检测数据集,2800张高清照片,已打好标签txt格式,可直接进行目标检测。7类标签:玻璃绝缘子,玻璃片脏污,玻璃片缺损,聚合物片脏污,聚合物片缺损,聚合物绝缘子&…

机器学习笔记(一)初识机器学习

1.定义 机器学习是一门多学科交叉专业,涵盖概率论知识,统计学知识,近似理论知识和复杂算法知识,使用计算机作为工具并致力于真实实时的模拟人类学习方式,并将现有内容进行知识结构划分来有效提高学习效率。 机器学习有…

JavaSE--零基础的开始笔记01:下载JDK以及Path环境变量的 配置

一.Java概述(觉得没必要的可以直接跳过): Java是sun公司1995年推出,2009年被oracle收购又称为“甲骨文公司”。java之父:詹姆斯.高斯林 java是一门高级语言,接近人类语言程序易懂 。流行度很高,商业占用率高&#xf…

Java知识点小结3:内存回收

文章目录 对象引用强引用软引用(SoftReference)弱引用(WeakReference)考一考 虚引用(PhantomReference)总结 垃圾回收新生代老年代永生代 内存管理小技巧尽量使用直接量使用StringBuilder和StringBuffer进行…

【我的 PWN 学习手札】Tcache dup

前言 Tcache dup,实际上是 tcache 的 double free,能达到 UAF 的效果,实现 Tcache poisoning。 一、Tcache dup 早期 tcache 没有检查 double free,也没有对 counts 做检查。 对同一个大小落在 Tcachebin 的 chunk 进行 doubl…

鸿蒙媒体开发系列07——AVRecorder音频录制

如果你也对鸿蒙开发感兴趣,加入“Harmony自习室”吧!扫描下方名片,关注公众号,公众号更新更快,同时也有更多学习资料和技术讨论群。 1、概述 在HarmonyOS系统中,多种API都提供了音频录制开发的支持&#x…

Stable Diffusion 使用详解(11)--- 场景ICON制作

目录 背景 controlNet 整体描述 Canny Lineart Depth 实际使用 AI绘制需求 绘制过程 PS打底 场景模型选择 设置提示词及绘制参数 controlnet 设置 canny 边缘 depth 深度 lineart 线稿 效果 背景 这段时间不知道为啥小伙伴似乎喜欢制作很符合自己场景的ICON。…

Codeforces Round 784 (Div. 4) Kotlin

本期封面原图 画师煮タ 大福豆 最近学了下Kotlin的基础语法 想着巩固一下就开了一把div4 最后几题没时间了还是换回了C 要不然没法AK了 Idea编译的时候最后必须加上一句main函数的调用,但是cf的测评机又不能加这一句,总是忘记注释掉所以ce了很多发&…

Leetcode Hot 100刷题记录 -Day18(反转链表)

反转链表: 问题描述: 给你单链表的头节点 head ,请你反转链表,并返回反转后的链表。 示例 1: 输入:head [1,2,3,4,5] 输出:[5,4,3,2,1]示例 2: 输入:head [1,2] 输出&a…

工作中遇到的问题总结(1)

文章目录 第一题问题描述解决思路 第二题问题描述解决思路核心大表如何优化数据迁移过程是怎么样的如何将流量从旧系统迁移到新系统上 第三题问题描述解决思路 第四题问题描述解决思路方案一:双写机制方案二:基于时间戳的分流机制方案三:灰度…

【资料分析】刷题日记3

第一套 √ 考点:基期比重差很温柔的题 普通专科女生 占比 52.5% - 1.7% 50.8% 成人本专科女生 占比 57.8% - 4.6% 53.2% 相比降低了2.4% 知比重和部分量,求整体在花生老师的解法中体会啥叫适当约分 0.1899 / 47.8% / 87.5% 》0.19 / (4…

MySQL高阶1890-2020年最后一次登录

目录 题目 准备数据 分析数据 题目 编写解决方案以获取在 2020 年登录过的所有用户的本年度 最后一次 登录时间。结果集 不 包含 2020 年没有登录过的用户。 返回的结果集可以按 任意顺序 排列。 准备数据 Create table If Not Exists Logins (user_id int, time_stamp …

Ansbile-变量

文章目录 一、Ansible的常量(内置的变量)有哪些???????????????&#xff1…

Java之封装

文章目录 1.封装1.1 什么是封装1.2 访问限定符1.3 包1.3.1 什么是包1.3.2 导包1.3.3 自定义包 2. static2.1 static 修饰成员变量2.2 static 修饰成员方法2.3 static成员变量初始化 3. 代码快3.1 普通代码块3.2 实例代码块3.3 静态代码块 4. 对象的打印 1.封装 1.1 什么是封装…

力扣 713.乘积小于k的子数组

文章目录 题目介绍解法 题目介绍 解法 和209.长度最小的子数组思路大致相同。 思路:如果从l到r这一段的乘积是小于k的,那么[l,r]、[l1,r]….[r,r]这些子数组都是满足乘积小于k的,一共有r-l1个。 class Solution {public int minSubArrayLen…

Node.js backend for OpenAI image generation giving error code 400

题意:用于 OpenAI 图像生成的 Node.js 后端返回错误代码 400。 问题背景: I am trying to build a backend for the first time using Node.js. This is what I need: Generate image based on prompt -> Get the image and upload it to supabase s…