java - 如何将 Set<String> 转换为 Set<Object>

标签 java spring-boot collections type-conversion set

如何转换strRolesSet<Role> 。预先感谢您

Set<String> strRoles = signUpRequest.getRoles();
Set<Role> roles = new HashSet<>();

角色.模型

@Document(collection = "roles")
public class Role {   
    @Id
    private String id;
    private ERole name;
}

Erole.enum

public enum ERole {
    ROLE_ADMIN,
    ROLE_USER
}

最佳答案

使用流:

Set<Role> convertStringSetToRoleSetWithStreams(final Set<String> rolesInString) {
    return rolesInString.stream().map(roleInString -> {
        final Role role = new Role();
        role.setName(ERole.valueOf(roleInString));
        return role;
    }).collect(Collectors.toSet());
}

没有流:

Set<Role> convertStringSetToRoleSetWithoutStreams(final Set<String> rolesInString) {
    final Set<Role> rolesInObject = new HashSet<>();
    for (final String roleInString : rolesInString) {
        final Role role = new Role();
        role.setName(ERole.valueOf(roleInString));
        rolesInObject.add(role);
    }
    return rolesInObject;
}

如果答案有效,请随意接受。

关于java - 如何将 Set<String> 转换为 Set<Object>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61417413/

相关文章:

java - 使用 gson 获取正确的 JSON 字符串

java - 我可以同时使用 SIP 和 P2P 进行 VoIP 吗?

java - 线程 "main"java.lang.ClassCastException : com. google.gson.internal.LinkedTreeMap 中的异常无法转换为 t

c++:我可以将同一个对象放入集合中两次吗?

java - java中treeset/CopyOnWriteArrayList的默认大小?

java - 向连接到 Wi-Fi 网络的所有设备发送通知

java - Spring boot Resttemplate动态代理设置通过ssh隧道连接无法识别远程DNS

java - 无法在 OncePerRequestFilter 中注入(inject) bean

Java - 使用 Collections.sort() 进行排序

java - 在 AndroidManifest.xml 中添加 "@android:style/Theme.Dialog"后,我的 Android 应用程序崩溃