您可以使用Java 8中的流(Stream)来实现上述代码,如下所示:

iamPermissionExportPojos = iamPermissionExportPojos.stream()
    .filter(e -> permissionCodes.stream().anyMatch(code -> Objects.equals(e.getPermissionCode(), code) && code.matches(PERMISSION_CODE_REGEX)))
    .collect(Collectors.toList());

List<String> failedPermissionCodes = permissionCodes.stream()
    .filter(code -> iamPermissionExportPojos.stream().noneMatch(e -> Objects.equals(e.getPermissionCode(), code) && code.matches(PERMISSION_CODE_REGEX)))
    .collect(Collectors.toList());

failedPermissionCodes.forEach(code -> failMsg.add(code + "三元组编码格式不符合要求!"));
failCount += failedPermissionCodes.size();

上述代码使用流的filter操作过滤出符合要求的iamPermissionExportPojos,并使用collect操作将结果收集为列表。

同时,使用流的filter操作过滤出不符合要求的permissionCodes,并将其收集为列表。然后,使用forEach操作将不符合要求的编码添加到failMsg中,并增加failCount计数

for String permissionCode permissionCodes if !permissionCodematchesPERMISSION_CODE_REGEX failMsgaddpermissionCode + 三元组编码格式不符合要求!; failCount++;

原文地址: https://www.cveoy.top/t/topic/iQe2 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录