@builder会生成一个不完美的构建器,不能区分哪些参数是必须的,哪些是可选的。这可能会导致构建对象时出现错误或不一致。
如果一个类有些参数必传,有些参数选传,可以将必传参数定义到构造方法上,非必传参数采用 @accessor 方式链式设置。
一、@accessors(chain = true)
开启链式编程 设置chain=true时,setter方法返回的是this(也就是对象自己),代替了默认的返回值void,直接链式操作对象。
示例:
@data
@accessors(chain = true) //开启链式编程
public class user implements serializable {
private string id;
private string name;
private int age;
public static void main(string[] args) {
user user = new user();
user.setid("123").setage(17).setname("小明");
system.out.println(user);
}
}
二、@accessors(fluent = true)
省略给对象赋值和取值时候得set、get前缀。
示例:
@data
@accessors(fluent = true) //不用带set和get前缀
public class user implements serializable {
private string id;
private string name;
private int age;
public static void main(string[] args) {
user user = new user();
user.id("124").age(19).name("小丽");
system.out.println(user);
}
}
到此这篇关于java中@accessors使用的实现示例的文章就介绍到这了,更多相关java @accessors内容请搜索代码网以前的文章或继续浏览下面的相关文章希望大家以后多多支持代码网!
发表评论