如何使用Java流过滤器和谓词美化以下Java查询?

问题描述 投票:0回答:1

如何使用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;
}
java java-stream predicate
1个回答
0
投票

forEach呼叫可以替换为noneMatch

noneMatch
© www.soinside.com 2019 - 2024. All rights reserved.