关于setter和builder方法的使用
List<String> list = new ArrayList<String>();
list.add("11");
list.add("12");
list.add("13");
list.add("14");
list.add("15");
Map<String, String> map = new HashMap<>();
map.put("12", "M12");
map.put("14", "M14");
// 常用的setter函数赋值方法
Student stu1 = new Student();
stu1.setId(11);
stu1.setName("luck911");
stu1.setScore(list);
stu1.setStu_Class(map);
// setter冗长,可以使用builder
// 方法1(常用)
Student stu2 = Student.builder().id(12).name("luck912").score(list).Stu_Class(map).build();
// 方法2
Student stu3 = new Student.StudentBuilder().id(13).name("luck913").score(list).Stu_Class(map).build();
System.out.println("stu1 : " + stu1);
System.out.println("stu2 : " + stu2);
System.out.println("stu3 : " + stu3);
运行结果:
stu1 : Student(id=11, name=luck911, score=[11, 12, 13, 14, 15], Stu_Class={12=M12, 14=M14})
stu2 : Student(id=12, name=luck912, score=[11, 12, 13, 14, 15], Stu_Class={12=M12, 14=M14})
stu3 : Student(id=13, name=luck913, score=[11, 12, 13, 14, 15], Stu_Class={12=M12, 14=M14})
注意点:
@Data
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class Student {
private Integer id;
private String name;
private List score;
private Map<String,String> Stu_Class;
}
其中Data和Builder注解不能一起使用,一起用的话要加上NoArgsConstructor和AllArgsConstructor