如何使用Java流过滤器和谓词美化以下Java查询?
我有这段代码,它试图根据需要在UI级别处理的某些条件引发一些异常。如何使用Java流过滤器和谓词将以下代码缩短为更精确的代码。
public Sort resolveArgument() {
Sort sort = sortHandlerMethodArgumentResolver.resolveArgument();
List<Sort.Order> orders = sort.stream().collect(Collectors.toList());
if (orders.isEmpty()) {
sort = Sort.by(Sort.Direction.DESC, default_sort_param);
} else {
if (orders.size() > sort_max_count) {
throw new InvalidSortException("Please provide only 3 valid sort parameters.");
}
}
orders.forEach(order -> {
if (!allowed_sort_params.contains(order.getProperty())) {
throw new InvalidSortException(order.getProperty() + " is not a valid sort parameter");
}
});
return sort;
}
forEach
呼叫可以替换为noneMatch
:
noneMatch