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 插件。