Lombok 基础

Lombok 基本注解

Lombok 高级注解

Lombok FAQ

lombok默认值


Lombok(Project Lombok)是一个 Java 库,它通过使用注解来简化 Java 代码的编写,特别是用于减少样板代码的重复。其中之一的功能是自动生成默认值。下面是一个示例代码,展示了如何使用 Lombok 的默认值功能:

首先,确保你的项目中引入了 Lombok 库的依赖。你可以在 Maven 或 Gradle 中添加以下依赖:

Maven:

<dependency>
    <groupId>org.projectlombok</groupId>
    <artifactId>lombok</artifactId>
    <version>1.18.22</version> <!-- 请根据最新版本进行更新 -->
    <scope>provided</scope>
</dependency>

Gradle:

compileOnly 'org.projectlombok:lombok:1.18.22' // 请根据最新版本进行更新
annotationProcessor 'org.projectlombok:lombok:1.18.22'

接下来,假设你有一个 Java 类 Person,并且希望为其属性设置默认值,你可以使用 Lombok 的 @Builder 注解和 @Default 注解来实现。这里是一个示例:

import lombok.Builder;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.NonNull;
import lombok.RequiredArgsConstructor;
import lombok.ToString;
import lombok.experimental.Accessors;
import lombok.experimental.Default;

@Data
@Builder
@Accessors(chain = true)
@NoArgsConstructor
@RequiredArgsConstructor
@ToString
public class Person {
    @NonNull
    private String firstName;

    @Default // 使用@Default注解来设置默认值
    private int age = 30; // 默认值为30
    private String lastName;
}

在上面的示例中,我们使用了不同的 Lombok 注解:

  1. @Data : 自动生成 equalshashCodetoString 等方法。
  2. @Builder : 自动生成一个 Builder 类,用于创建 Person 对象。
  3. @Accessors(chain = true) : 生成具有链式调用方法的 setter 方法。
  4. @NoArgsConstructor : 自动生成无参构造函数。
  5. @RequiredArgsConstructor : 自动生成带有 @NonNull 字段的构造函数。
  6. @ToString : 自动生成 toString 方法。

对于 age 属性,我们使用了 @Default 注解来设置默认值为 30。这意味着如果你创建一个 Person 对象并不显式地设置 age 属性的值,它将自动设置为 30。

示例用法:

public class Main {
    public static void main(String[] args) {
        Person person = Person.builder()
            .firstName("John")
            .lastName("Doe")
            .build();

        System.out.println(person); // 输出: Person(firstName=John, age=30, lastName=Doe)
    }
}

在上面的示例中,我们创建了一个 Person 对象,没有显式设置 age 属性的值,因此它自动使用默认值 30。这就是 Lombok 的默认值功能的使用示例。

Lombok(ProjectLombok)是一个Java库,它可以通过注解来自动生成Java类的常用方法,如getter、setter、eq ...
Lombok是一个Java库,它可以通过注解来简化Java代码的编写,包括生成getter和setter方法、构造函数、equals和has ...
Lombok是一个Java库,它通过注解来简化Java类的开发,减少样板代码的编写。另外,确保在项目的构建工具(如Maven或Gradle) ...
Lombok(ProjectLombok)是一个Java库,它通过注解来简化Java代码的编写,特别是用于减少样板代码的冗余。gradle` ...
在Django模板中,default是一个有用的过滤器,它允许你在变量不存在或者为空时,设置一个默认值。html并演示default过滤器的 ...