Java 实体类链式操作
目录
1. 使用返回 this 的 setter 方法
2. 使用 Lombok 的 @Accessors 注解
3. 建造者模式 (Builder Pattern)
比较
链式设置参数(也称为链式调用或方法链)是一种编程风格,可以让代码更加简洁易读。在 Java 实体类中实现链式设置参数通常有以下方式:
1. 使用返回 this 的 setter 方法
public class User {private String name;private int age;private String email;// 链式 setter 方法public User setName(String name) {this.name = name;return this;}public User setAge(int age) {this.age = age;return this;}public User setEmail(String email) {this.email = email;return this;}// 常规 getter 方法public String getName() {return name;}public int getAge() {return age;}public String getEmail() {return email;}
}
使用示例:
User user = new User().setName("张三").setAge(25).setEmail("zhangsan@example.com");
2. 使用 Lombok 的 @Accessors 注解
如果你使用 Lombok 库,可以更简洁地实现链式调用:
import lombok.Data;
import lombok.experimental.Accessors;@Data
@Accessors(chain = true)
public class User {private String name;private int age;private String email;
}
使用方式与第一种相同:
User user = new User().setName("张三").setAge(25).setEmail("zhangsan@example.com");
3. 建造者模式 (Builder Pattern)
对于更复杂的对象创建,可以使用建造者模式:
public class User {private final String name;private final int age;private final String email;private User(Builder builder) {this.name = builder.name;this.age = builder.age;this.email = builder.email;}public static class Builder {private String name;private int age;private String email;public Builder name(String name) {this.name = name;return this;}public Builder age(int age) {this.age = age;return this;}public Builder email(String email) {this.email = email;return this;}public User build() {return new User(this);}}// getter 方法public String getName() {return name;}public int getAge() {return age;}public String getEmail() {return email;}
}
使用示例:
User user = new User.Builder().name("张三").age(25).email("zhangsan@example.com").build();
比较
- 直接链式 setter:简单直接,适合简单对象
- Lombok:代码最简洁,但需要引入依赖
- 建造者模式:最适合复杂对象的构建,可以确保对象创建时的不可变性和一致性
这篇博客到这里就接近尾声了,希望我的分享能给您带来一些启发和帮助,别忘了点赞、收藏。您的每一次互动、鼓励是我持续创作的动力!期待与您再次相遇,共同探索更广阔的世界!