java链式编程_Java 中的链式编程

前言

​在写项目的时候,有一个实体类有好多个属性,new 出来之后需要不停的使用setXXX( )方法,效率低而且代码可读性差,查询了下发现可以实现实体类的链式编程。

public class User {

private Integer id;

private String userName;

private String password;

private String nikeName;

private String email;

private String phoneNum;

/**

setter/getter方法省略

*/

}

测试类中的赋值操作

User user = new User();

user.setId(1);

user.setEmail("xxxx");

user.setUserName("test");

user.setPassword("5454");

user.setNikeName("swds");

user.setPhoneNum("17575");

一、 在setter方法中实现链式编程

修改setter方法的返回值为实体类类型,添加return this;语句

public class User {

private Integer id;

private String userName;

private String password;

private String nikeName;

private String email;

private String phoneNum;

public Integer getId() {

return id;

}

public User setId(Integer id) {

this.id = id;

return this;

}

public String getUserName() {

return userName;

}

public User setUserName(String userName) {

this.userName = userName;

return this;

}

public String getPassword() {

return password;

}

public String getNikeName() {

return nikeName;

}

public User setNikeName(String nikeName) {

this.nikeName = nikeName;

return this;

}

public String getEmail() {

return email;

}

public User setEmail(String email) {

this.email = email;

return this;

}

public String getPhoneNum() {

return phoneNum;

}

public User setPhoneNum(String phoneNum) {

this.phoneNum = phoneNum;

return this;

}

public User setPassword(String password) {

this.password = password;

return this;

}

}

在测试类中实现了链式编程

User user = new User();

user.setId(1).setUserName("sdd").setPhoneNum("sdsd").setNikeName("dsdsd").setEmail("xxxxx").setPassword("122");

二、 使用lombok实现链式编程

使用lombok之前,必须确保你的IDEA或者Eclipse中安装了lombok插件

在项目中导入lombok的依赖

org.projectlombok

lombok

1.18.12

在实体类上添加@Accessors(chain = true)注解即可开启链式编程

@Accessors(chain = true) // 开启链式编程

@Data

@AllArgsConstructor

@NoArgsConstructor

public class User {

private Integer id;

private String userName;

private String password;

private String nikeName;

private String email;

private String phoneNum;

}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值