简单使用lombok 链式编程

本文介绍了如何在Java中使用Lombok库实现链式编程,包括导入Lombok依赖、安装IDE插件,以及对比了没有使用Lombok时的常规链式编程方式。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用条件

一,导包

    <!--只是用来下载一个jar-->
    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
      <version>1.18.12</version>
      <scope>provided</scope>
    </dependency>

二,安装插件

File -> Settings -> Plugins 搜索Lombok,并进行安装

 

以下参考自

首先来看一下不加Lombok如何实现链式

package 方;

class Student{
    private int age;
    private String name;

    public int getAge() {
        return age;
    }

    public Student setAge(int age) {
        this.age = age;
        return this;
    }

    public Strin
### Java 中 Lombok 注解实现链式调用编程 #### 使用 `@Data` 和 `@Accessors` 为了使类支持链式调用,可以使用 `@Data` 和 `@Accessors(chain = true)` 这两个注解。`@Data` 自动生成 getter/setter 方法以及其他常用方法如 equals()、hashCode() 和 toString()[^1]。 ```java @Data @Accessors(chain = true) public class Student { private String name; private int age; } ``` 通过设置 `chain=true` 参数,所有的 setter 方法都会返回当前对象实例 (`this`) 而不是默认的 `void` 类型,从而允许进行链式调用。 #### 结合 `@RequiredArgsConstructor` 当希望创建不可变的对象时,可以通过组合 `@RequiredArgsConstructor(staticName = "builder")` 来提供静态 builder 方法。这使得可以在不违反封装原则的情况下轻松地初始化必填字段并启用链式语法[^4]。 ```java @RequiredArgsConstructor(staticName = "builder") public class Person { @NonNull private final String firstName; @NonNull private final String lastName; // Other properties... } ``` 此时,可以直接利用生成器模式来进行流畅式的参数赋值: ```java Person person = Person.builder() .firstName("John") .lastName("Doe") .build(); System.out.println(person); ``` #### 处理集合类型的属性 —— `@Singular` 对于包含集合类型成员变量的情况,Lombok 提供了专门针对 Builder 的优化工具——`@Singular` 注解。该注解可以让开发者更加方便地操作列表或集合作为构建的一部分而无需手动管理复杂的内部状态变化[^5]。 ```java @Builder public class Library { @Singular List<Book> books; } // Usage example: Library library = Library.builder() .book(new Book("Title A")) .books(Arrays.asList( new Book("Title B"), new Book("Title C"))) .build(); ``` 以上就是关于如何借助 Lombok 库简化 Java Bean 设计以及实现优雅链式 API 接口设计的一些介绍[^1][^2][^3][^5]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值