gpt4 book ai didi

java - 在 Set 集合中搜索

转载 作者:行者123 更新时间:2023-11-30 02:01:36 25 4
gpt4 key购买 nike

我有一个角色对象,其中有一组角色名称,我想检查用户是否具有特定角色。告诉我如何最好地做到既美观又简洁。

角色.java

@Table(name = "roles")
public class Role {
@Id
@GeneratedValue(strategy = GenerationType.IDENTITY)
private Long id;

@Enumerated(EnumType.STRING)
@NaturalId
@Column(length = 60)
private RoleName name;

角色名称.java:

public enum RoleName {
ROLE_ADMIN,
ROLE_MANAGER,
ROLE_CLIENT,
ROLE_USER,
}

现在我的搜索如下所示:

boolean isFind = false;
for (Role role : user.getRoles()) {
isFind = role.getName().equals(RoleName.ROLE_CLIENT);
if (isFind) break;
}

但我不太喜欢这种方式。你能建议一个更好的选择吗?

最佳答案

您可以使用流,例如:

boolean isFind = 
user.getRoles()
.stream()
.map(Role::getName)
.anyMatch(n -> n == RoleName.ROLE_CLIENT);

关于java - 在 Set 集合中搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52664935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com