首页 > 解决方案 > 如何避免错过在 POJO 中设置字段的值?

问题描述

我有一个包含数十个字段的 POJO,我必须设置所有字段的值。

如何避免忘记设置某些字段的值?

// POJO
public class Employee {
   private Date birthday;
   private String firstName;
   private String lastName;
   private String birthOfPlace;
   // ...

   // setters and getters
}


// Main class
public class MainClass {
   public static void main(String[] args) {
      Employee employee = new Employee();
      // Call all the setters of Class Employee
      employee.setFirstName("Jack");
      employee.setLastName("Reed");
      employee.setBirthOfPlace("Iceland");
      // Oops, forget to call setBirthday()
   }
}

标签: javapojorequired-field

解决方案


在您的类中使用带有所需参数的构造函数的内部 Builder 类,例如firstName

public static class Builder {


    private String firstName;
    private String lastName;

    public Builder(String firstName) {
        this.firstName= firstName;
    }

    public Builder lastName(String lastName) {
        lastName = lastName;
        return this;
    }

确保您只能通过 Builder 创建对象


推荐阅读