[英]Returning boolean instead of list
public class User {
private String id;
private String name;
private List<Types> types;
}
{
private String id;
private String name;
private String linkedTo;
}
private List<Types> getType(List<User> Users) {
return Users
.stream()
.map(User::gettypes)
.flatMap(List::stream)
.collect(Collectors.toList());
}}
public class UserResponse {
private String id;
private String type;
private String name;
private String linkedTo;
}
private List<UserResponse> getUserResponse(UserRequest request) {
List<User> Users = userServiceClient.getById();
List<UserResponse> userResponses = new ArrayList<>();
List<Types> TypesList = getType(Users);
if (!typesList.isEmpty()) {
return typesList.stream()
.map(type -> userResponses.add(new UserResponse( type.getGuid(),type.getName(),type.getName(),type.getLinkedTo())))
.collect(Collectors.toList());
}
return collections.emptylist();
}
這是問題所在,我無法將其作為列表返回,而是獲得 boolean..
有沒有有效的方法來做到這一點? 代碼審閱者不希望我使用每個並返回列表
更好的方法是
private List<UserResponse> getUserResponse(UserRequest request) {
List<User> Users = userServiceClient.getById();
List<Types> TypesList = getType(Users);
return typesList.stream()
.map(type -> new UserResponse(type.getId(), type.getName(), type.getName(), type.getLinkedTo()))
.collect(Collectors.toList());
}
原因:
如果typesList
為空,這將返回空List
,如代碼中的Collections.emptyList
。
它map
到UserResponse
對象並收集它們以返回List<UserResponse>
同時使用 Stream 為它沒有顯式實例化和.add
調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.