Java中@Accessors使用的实现示例
@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内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
java读取文件:char的ASCII码值=65279,显示是一个空字符的解决
这篇文章主要介绍了java读取文件:char的ASCII码值=65279,显示是一个空字符的解决,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧2020-08-08
ZooKeeper框架教程Curator分布式锁实现及源码分析
本文是ZooKeeper入门系列教程,本篇为大家介绍zookeeper一个优秀的框架Curator,提供了各种分布式协调的服务,Curator中有着更为标准、规范的分布式锁实现2022-01-01
Mybatis-Plus 3.5.12 分页拦截器消失的问题及快速解决方法
作为Java开发者,我们都爱用Mybatis-Plus简化CRUD操作,尤其是它的分页功能,几行代码就能搞定复杂的分页查询,本文给大家介绍Mybatis-Plus3.5.12分页拦截器消失的问题快速解决方法,感兴趣的朋友跟随小编一起看看吧2025-08-08
Spring Cloud OAuth2 实现用户认证及单点登录的示例代码
这篇文章主要介绍了Spring Cloud OAuth2 实现用户认证及单点登录的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧2019-10-10


最新评论