我试图在下面的代码中使用流。我的问题是我的返回值。
这段代码返回Optional而不是布尔值:
ogps.stream().filter(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty())).findFirst();
你能指导我吗?谢谢
//The original code
public static boolean isOrderOk(List<OrderGroup> ogps) {
if (ogps == null || ogps.isEmpty()) {
return true;
}
for (OrderGroup elt : ogps) {
if (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty()) {
return false;
}
}
return true;
}
//The new code with stream usage
public static boolean isOrderOk(List<OrderGroup> ogps) {
if (ogps == null || ogps.isEmpty()) {
return true;
}
return ogps.stream()
.filter(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty()))
.findFirst();
return true;
}
最佳答案
您可能正在寻找类似的东西:
public static boolean isOrderOk(List<OrderGroup> ogps) {
if (ogps == null || ogps.isEmpty()) {
return true;
}
return ! ogps.stream()
.anyMatch(elt -> (elt.getLineNumbers() != null && !vg.getLineNumbers().isEmpty()));
}