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

Lombok使用指南

引言

lombok作为减少我们代码量的利器,本文将列举常用的几个注解,来帮助减少代码量

注解及其功能

  1. @Getter 和 @Setter
    import lombok.Getter;
    import lombok.Setter;
    
    @Getter
    @Setter
    public class Person {
        private String name;
        private int age;
    }

            会自动为 name 和 age 字段生成对应的 getter 和 setter 方法,无需手动编写。

  2. @ToString

    import lombok.ToString;
    
    @ToString
    public class Book {
        private String title;
        private String author;
    }

    这个好理解生成toString方法,不需要我们重写

  3. @EqualsAndHashCode

    自动生成 equals() 和 hashCode() 方法。

    import lombok.EqualsAndHashCode;
    @EqualsAndHashCode
    public class Product {
        private String id;
        private String name;
    }

    根据类的字段生成相应的 equals() 和 hashCode() 方法,用于对象的比较和哈希操作

  4. @NoArgsConstructor、@RequiredArgsConstructor 和 @AllArgsConstructor

    @NoArgsConstructor:生成一个无参构造函数。

    @RequiredArgsConstructor:为类中所有被 final 修饰的字段和被 @NonNull 注解的字段生成一个带有这些字段作为参数的构造函数。

    @AllArgsConstructor:生成一个包含所有字段作为参数的构造函数。

  5. @Data

    这是一个组合注解,相当于同时使用了 @Getter、@Setter、@ToString、@EqualsAndHashCode 和 @RequiredArgsConstructor

    ​
    import lombok.Data;
    
    @Data
    public class Employee {
        private String employeeId;
        private String department;
    }
    
    ​
  6. @Builder

    为类生成一个建造者模式的 API,方便对象的创建和初始化。

    import lombok.Builder;
    
    @Builder
    public class Car {
        private String brand;
        private String model;
    }
    
    // 使用建造者模式创建对象
    Car car = Car.builder()
            .brand("Toyota")
            .model("Corolla")
            .build();

 使用攻略

  • 正常开发依赖注入和idea的插件都可以使用
    <dependency>
        <groupId>org.projectlombok</groupId>
        <artifactId>lombok</artifactId>
        <version>1.18.26</version>
        <scope>provided</scope>
    </dependency>

  • 个人心得:注解不只是可以设置在类上,静态内部类也可以使用,下面实战一下

    import lombok.Getter;
    import lombok.Setter;
    
    // 外部类
    public class OuterClass {
        // 静态内部类
        @Getter
        @Setter
        public static class InnerStaticClass {
            private String innerField;
        }
    
        public static void main(String[] args) {
            InnerStaticClass inner = new InnerStaticClass();
            inner.setInnerField("Hello, Inner Static Class!");
            System.out.println(inner.getInnerField());
        }
    }

    可以大大优化我们代码的整洁度和可读性


http://www.kler.cn/a/542806.html

相关文章:

  • ffmpeg -hwaccels
  • Hello Robot 推出Stretch 3移动操作机器人,赋能研究与商业应用
  • STM32的HAL库开发---高级定时器---互补输出带死区实验
  • 国产编辑器EverEdit - 编辑辅助功能介绍
  • 活动预告 | Power Hour: Copilot 引领商业应用的未来
  • 2.Excel:滨海市重点中学的物理统考考试情况❗(15)
  • 使用mermaid画流程图
  • ubuntu22.04 git clone问题
  • Springboot集成Milvus和Embedding服务,实现向量化检索
  • vue3自定义提示框和下载
  • 1313:【例3.5】位数问题
  • 【python】http.server内置库构建临时文件服务
  • 【Vue2】vue2项目中如何使用mavon-editor编辑器,数据如何回显到网页,如何回显到编辑器二次编辑
  • 玩转工厂模式
  • 【Unity】【VR开发】如何让手主动吸附到物体上
  • Linux 实操篇 时间日期类、搜索查找类、压缩和解压类
  • 高效利用Python爬虫开发批量获取商品信息
  • Stylelint 如何处理 CSS 预处理器
  • 微服务中如何使用openfeign上传文件
  • 【Oracle专栏】本地 expdp 导出远程库
  • 免费申请 | FRDM-MCXA156评测活动发布!
  • 01-SDRAM控制器的设计——案例总概述
  • 游戏引擎学习第96天
  • 游戏本电脑为什么打开游戏开始玩不卡,过段时间玩却非常卡(比如黑神话悟空)
  • [开源]MaxKb+Ollama 构建RAG私有化知识库
  • .vscode文件夹详解