java lombok-@Builder 注解
一、前言
在写代码中javaBean要重复写get、set、toString方法是一个没有技术含量且重复工作量的事情,当javaBean类较多时候写着也很繁琐,lombok提供了注解方式,不需要再写这些重复的代码,使代码更简洁优雅。
二、IDEA添加lombok
IDEA添加lombok链接:IDEA添加lombok插件
三、@Builder使用介绍
在没有使用lombok @Builder注解时候:
User类需要将每个字段的get、set 方法都写出来,整个类看起来代码臃肿。
UserInfo类:user对象添加数据需要重复调用set方法。
- User类需要将每个字段的get、set 方法都写出来,整个类看起来代码臃肿。
public class User {
private String name;
private String comment;
private String sex;
private int age;
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
public String getComment() {
return comment;
}
public void setComment(String comment) {
this.comment = comment;
}
public String getSex() {
return sex;
}
public void setSex(String sex) {
this.sex = sex;
}
public int getAge() {
return age;
}
public void setAge(int age) {
this.age = age;
}
@Override
public String toString() {
return "User{" +
"name='" + name + '\'' +
", comment='" + comment + '\'' +
", sex='" + sex + '\'' +
", age=" + age +
'}';
}
}
- UserInfo类:user对象添加数据需要重复调用set方法。
import java.util.ArrayList;
import java.util.List;
public class UserInfo {
public static void main(String[] args) {
printUser();
}
private static void printUser() {
List<User> users = new ArrayList<>();
//user对象添加属性值
User user = new User();
user.setName("李明");
user.setAge(14);
user.setSex("男");
user.setComment("喜欢读书");
//user对象添加到list集合
users.add(user);
System.out.println("User infomation::" + users);
}
}
lombok注解方式写法:
User类不需要在写get、set方法,代码极其简洁优雅
UserInfo类使用Builder直接就可以构建User类对象并设置属性值
- User类不需要在写get、set方法,代码极其简洁优雅
import lombok.Builder;
import lombok.Getter;
import lombok.Setter;
import lombok.ToString;
@Getter
@Setter
@ToString
@Builder
public class User {
private String name;
private String comment;
private String sex;
private int age;
}
- UserInfo类使用Builder直接就可以构建User类对象并设置属性值
import java.util.ArrayList;
import java.util.List;
public class UserInfo {
public static void main(String[] args) {
printUser();
}
private static void printUser() {
List<User> users = new ArrayList<>();
//user对象添加属性值
User user = User.builder()
.name("李明")
.age(16)
.sex("男")
.comment("喜欢读书")
.build();
//user对象添加到list集合
users.add(user);
System.out.println("User infomation::" + users);
}
}
- 输出结果
User infomation::[User(name=李明, comment=喜欢读书, sex=男, age=16)]