使用 Java 进行重构 8

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());
}

在我的服务中 Class。

我在我的用户 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;
    }
}

在我的服务中 class,我写道:

List<User> userList=reponseList.stream().map(User::create).collect(toList());

这是正确的方法还是其他更好的解决方案?实际上,我的服务中有很多 setter 方法。

与其创建静态创建方法,不如定义一个 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());