【发布时间】:2021-10-18 15:15:22
【问题描述】:
我有一个方法,我想检查在我的模型中是否存在某种类型的枚举。
如果存在,我想返回 true,如果不存在,我想返回带有错误消息的 false。
我的模型看起来像这样:
@Data
public class DataResponse {
public final String userId;
public final List<Model> modelList;
}
Model.java
@Data
public class Model {
public final String modelId;
public final ModelType type;
public final ModelStatus status;
}
ModelType.java
public enum ModelType {
Fast,
Slow;
}
ModelStatus.java
public enum ModelStatus {
CREATED,
FAILED
}
现在我想使用 strems 检查我的模型是否包含类型 "Fast" 并且如果包含状态 "CREATED" 如果是则返回 true 如果不返回 false 并显示错误消息。
到目前为止,我有这个:
public Boolean isModelFastAndSuccess(String modelId){
Optional<DataResponse> modelList = dataService.getModelStatus(modelId);
userProofList.stream().map(ml -> ml.modelList)
.map(models -> {
if()
})
.collect(Collectors.toList());
}
我不知道如何完成它。 任何建议表示赞赏。
【问题讨论】:
-
return userProofList.stream().any/all/noneMatch(/* some predicate */);? -
你能把它写成我的例子的代码示例吗?
-
你能澄清一下你将如何返回 false 和错误信息吗?
-
没错,猜错误信息就够了
-
那么
isModelFastAndSuccess方法应该如何同时返回 something 这是一个布尔值和一个字符串消息?此外,尚不清楚响应字段modelList是否必须包含 all 模型Fast和Created或仅包含 any?
标签: java spring-boot enums java-stream