将代码的一部分重构为lambda表达式



我有此代码:

    for (UserDTO usersList:userRepo.getContent()) {
        Set<String> str2 = new HashSet<>();
        for (String authority:usersList.getAuthorities()) {
            if(!authority.equals(AuthoritiesConstants.ADMIN) && !authority.equals(AuthoritiesConstants.USER)){
                str2.add(authority);
            }
        }
        usersList.getAuthorities().removeAll(str2);
    }

可以将其减少到lambda表达式?

您似乎正在寻找 removeIf as:

userRepo.getContent().forEach(usersList -> 
        usersList.getAuthority()
                .removeIf(authority -> 
                        !authority.equals(AuthoritiesConstants.ADMIN) && !authority.equals(AuthoritiesConstants.USER)));

最新更新