List<SchemaRowRuleEo> userRowRuleList = schemaRowRuleList.stream() .filter(schemaRowRuleEo -> { List<String> userList = JSONObject.parseArray(schemaRowRuleEo.getRowPermissionUserList(), String.class); List<String> orgList = JSONObject.parseArray(schemaRowRuleEo.getRowPermissionOrgList(), String.class); return userList.contains(userUid) || orgList.contains(orgCode) || userList.contains("*") || orgList.contains("*"); }) .collect(Collectors.toList());OrgCode为null会异常
时间: 2024-02-03 21:13:16 浏览: 184
是的,如果 `orgCode` 为 `null`,那么在执行 `orgList.contains(orgCode)` 时会抛出 `NullPointerException` 异常。为了避免这种情况,你可以先判断 `orgCode` 是否为 `null`,如果为 `null` 则不需要进行 `orgList.contains(orgCode)` 的操作。可以将代码改为如下:
```
List<SchemaRowRuleEo> userRowRuleList = schemaRowRuleList.stream()
.filter(schemaRowRuleEo -> {
List<String> userList = JSONObject.parseArray(schemaRowRuleEo.getRowPermissionUserList(), String.class);
List<String> orgList = JSONObject.parseArray(schemaRowRuleEo.getRowPermissionOrgList(), String.class);
return userList.contains(userUid) || (orgCode != null && orgList.contains(orgCode)) || userList.contains("*") || orgList.contains("*");
})
.collect(Collectors.toList());
```
这样可以避免 `NullPointerException` 异常。
阅读全文