关于setter和builder方法的使用

关于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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值