写 Java 代码的时候,你有没有觉得每个实体类都像没整理过的衣柜?getter、setter、toString、equals、hashCode……光是这些方法就能塞满一屏,真正重要的字段反而被挤到了角落。
为什么你的类总是“臃肿”?
比如你有一个用户类 User,光是定义几个字段,就得配套写一堆模板代码:
public class User {
private String name;
private Integer age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public Integer getAge() {
return age;
}
public void setAge(Integer age) {
this.age = age;
}
@Override
public String toString() {
return "User{name='" + name + "', age=" + age + "}";
}
}
这就像每次换季都要把所有衣服翻出来,叠好、分类、再收进去。明明只是想存个名字和年龄,却要花八成时间在“整理”上。
Lombok:一键收纳的神器
Lombok 就像一个智能收纳盒,你只要打个标签,它自动帮你把那些重复的方法生成好。
还是上面的 User 类,用了 Lombok 之后变成这样:
import lombok.Data;
@Data
public class User {
private String name;
private Integer age;
}
就这一行 @Data,相当于同时加上了 getter、setter、toString、equals 和 hashCode。代码干净了,看起来也顺眼多了。
常见标签,像收纳分区一样清晰
不同场景可以用不同的注解,就像衣柜分成了上衣区、裤子区、内衣抽屉:
@Getter 和 @Setter:只生成读写方法,适合某些字段不想暴露 setter 的情况。
@ToString:自定义输出内容,比如忽略敏感字段。
@NoArgsConstructor、@AllArgsConstructor:构造函数也能自动生成,不用手敲一大串参数。
还有 @Builder,让对象创建像搭积木一样流畅:
User user = User.builder()
.name("张三")
.age(25)
.build();
怎么开始用?
第一步,在项目里加上 Lombok 依赖。如果是 Maven 项目,加一行:
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<version>1.18.30</version>
<scope>provided</scope>
</dependency>
第二步,确保你的 IDE 安装了 Lombok 插件,不然会报红。IntelliJ IDEA 在插件市场搜 Lombok 就能装。
第三步,重启 IDE,然后就可以在类上愉快地打注解了。
就像家里用了收纳盒以后,找东西更快,心情也更清爽。代码也一样,少些模板,多点重点,看一眼就知道它是干啥的。