roles.stream().filter(r -> !r.isAdmin())获取某个角色
时间: 2023-07-21 15:25:00 浏览: 121
如果你想从一个 roles 列表中获取某个角色,可以使用 Stream 的 findFirst() 或 findAny() 方法。这两个方法都是终止操作,当找到匹配的元素后就会立即停止流的遍历。
例如,你可以使用以下代码来获取第一个非管理员的角色:
```
Optional<Role> nonAdminRole = roles.stream()
.filter(r -> !r.isAdmin())
.findFirst();
```
这段代码首先使用 filter() 方法过滤掉所有管理员角色,然后使用 findFirst() 方法获取第一个非管理员角色。如果列表中没有符合条件的角色,则 nonAdminRole 变量将包含一个空的 Optional 对象。如果你想获取任意一个非管理员角色,可以使用 findAny() 方法替代 findFirst() 方法。