Lombok 基础

Lombok 基本注解

Lombok 高级注解

Lombok FAQ

Lombok的注解


Lombok(Project Lombok)是一个 Java 库,它通过注解来简化 Java 代码的编写,减少样板代码,提高代码的可读性和可维护性。以下是一些常用的 Lombok 注解及其示例代码:

@Data: 自动生成 getter、setter、equals、hashCode 和 toString 方法。

import lombok.Data;

@Data
public class Person {
    private String name;
    private int age;
}

// 自动生成的代码:
// public class Person {
//     private String name;
//     private int age;
// 
//     public String getName() {
//         return name;
//     }
// 
//     public void setName(String name) {
//         this.name = name;
//     }
// 
//     public int getAge() {
//         return age;
//     }
// 
//     public void setAge(int age) {
//         this.age = age;
//     }
// 
//     @Override
//     public boolean equals(Object o) {
//         if (this == o) return true;
//         if (o == null || getClass() != o.getClass()) return false;
//         Person person = (Person) o;
//         return age == person.age && Objects.equals(name, person.name);
//     }
// 
//     @Override
//     public int hashCode() {
//         return Objects.hash(name, age);
//     }
// 
//     @Override
//     public String toString() {
//         return "Person{" +
//                "name='" + name + '\'' +
//                ", age=" + age +
//                '}';
//     }
// }

@Getter / @Setter: 自动生成 getter 或 setter 方法。

import lombok.Getter;
import lombok.Setter;

@Getter
@Setter
public class Book {
    private String title;
    private String author;
}

// 自动生成的代码:
// public class Book {
//     private String title;
//     private String author;
// 
//     public String getTitle() {
//         return title;
//     }
// 
//     public void setTitle(String title) {
//         this.title = title;
//     }
// 
//     public String getAuthor() {
//         return author;
//     }
// 
//     public void setAuthor(String author) {
//         this.author = author;
//     }
// }

@NoArgsConstructor / @AllArgsConstructor: 自动生成无参构造方法和带参构造方法。

import lombok.NoArgsConstructor;
import lombok.AllArgsConstructor;

@NoArgsConstructor
@AllArgsConstructor
public class Car {
    private String make;
    private String model;
    private int year;
}

// 自动生成的代码:
// public class Car {
//     private String make;
//     private String model;
//     private int year;
// 
//     public Car() {
//     }
// 
//     public Car(String make, String model, int year) {
//         this.make = make;
//         this.model = model;
//         this.year = year;
//     }
// }

@Builder: 自动生成 builder 模式的方法,用于创建对象。

import lombok.Builder;
import lombok.Getter;

@Getter
@Builder
public class Laptop {
    private String brand;
    private String model;
    private int year;
}

// 使用Builder创建对象的示例:
// Laptop laptop = Laptop.builder()
//     .brand("Dell")
//     .model("XPS 13")
//     .year(2022)
//     .build();

这些是 Lombok 的一些常见注解,它们可以帮助你减少样板代码,提高代码的简洁性和可读性。你可以根据需要选择使用这些注解来简化 Java 类的编写。注意,为了使用 Lombok,你需要在项目中引入 Lombok 库,并确保你的开发环境支持 Lombok 插件。

Lombok是一个Java库,它通过注解来自动生成常见的Java代码,如getter、setter、equals、hashCode和toSt ...
Lombok是一个Java库,可以通过注解减少Java代码中的样板代码,其中包括用于生成日志的注解。以下是使用`@CommonsLog`注解 ...
Lombok是一个Java库,它通过注解简化了Java类的开发,其中包括生成常见的Java代码,如getter和setter方法、equal ...
Lombok(ProjectLombok)是一个Java库,它可以通过注解来自动生成Java类的常用方法,如getter、setter、eq ...
Lombok是一个Java库,它通过在编译时自动生成常用的Java代码,来减少Java代码中的冗余和样板代码。完成上述步骤后,你可以在你的J ...