Java new对象链式编程设置属性

最近在研究异步NIO架构的Vert.x框架,在配置数据库连接的时候,发现了这句代码(注意这是一句代码):

MySQLConnectOptions connectOptions = new MySQLConnectOptions()
    .setPort(3306)
    .setHost("127.0.0.1")
    .setDatabase("test")
    .setUser("root")
    .setPassword("root");

惊呆了我和我的小伙伴!
在这里插入图片描述

相比于我们平时的写法,一种是全参构造,一种是无参构造再设置属性,链式编程设置属性简直不要太方便!

//全参构造对象
User user0 = new User("id-001", "username_admin", "password_123");

//无参构造对象,再分别设置属性
User user1 = new User();
user1.setUid("id-002");
user1.setUsername("username_user");
user1.setPassword("password_321");

But,链式设置属性是怎么做到的呢?
在这里插入图片描述

挠了挠头。。有了!
接下来,我们对这个User类进行改造,让它实现链式设置属性,我们只需要改造它的set方法:

public User setUid(String uid) {
    this.uid = uid;
    return this;
}

public User setUsername(String username) {
	this.username = username;
    return this;
}

public User setPassword(String password) {
    this.password = password;
    return this;
}

然后我们就可以愉快地使用链式设置属性了!

User user = new User()
    .setUid("id-003")
    .setUsername("username_user2")
    .setPassword("password_111");

在这里插入图片描述

完结。

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

遥夜人间

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值