[英]Refactoring using Java 8
我想使用Java 8重构代码,所以我想不要使用像下面这样的setter方法:
Class MyService{
User user = new User();
user.setName(response.getName());
user.setId(response.getId());
user.setType(response.getType());
user.setDesignation(response.getDesignation());
}
在我的服务课程中。
我在用户Pojo中制作了一个方法
Class User{
public static User create(Response response){
User user = new User();
user.setName(response.getName());
user.setId(response.getId());
user.setType(response.getType());
user.setDesignation(response.getDesignation());
return user;
}
}
在服务课程中,我写道:
List<User> userList=reponseList.stream().map(User::create).collect(toList());
除此之外,这是正确的方法还是更好的解决方案? 我的服务中实际上有很多设置方法。
而不是创建静态的create方法,而是定义一个User构造函数,该构造函数采用Response并从中进行初始化。
Class User{
public User(Response response) {
setName(response.getName());
setId(response.getId());
setType(response.getType());
setDesignation(response.getDesignation());
}
}
然后,您可以致电:
List<User> userList=responseList.stream().map(User::new).collect(toList());
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.