Java 设置枚举集合的默认值

Java 设置枚举集合的默认值,java,enums,Java,Enums,我有以下课程: @NoArgsConstructor public class User { @ElementCollection @Enumerated(EnumType.STRING) Collection<SystemRole> sysRole; } 我想知道如何为USER类中的属性sysRole设置USER的默认值 我的意思是,默认情况下,user类的所有实例都具有user角色。您可以执行以下操作: Collection<SystemRole&

我有以下课程:

@NoArgsConstructor
public class User {
   @ElementCollection 
    @Enumerated(EnumType.STRING)
    Collection<SystemRole> sysRole;
}
我想知道如何为
USER
类中的属性
sysRole
设置
USER
的默认值


我的意思是,默认情况下,user类的所有实例都具有
user
角色。

您可以执行以下操作:

Collection<SystemRole> sysRole=Arrays.asList(new SystemRole[]{SystemRole.User});
Collection sysRole=Arrays.asList(新系统角色[]{SystemRole.User});

您可以使用实例初始化语法:

Collection<SystemRole> sysRole = EnumSet.of(SystemRole.USER);
Collection sysRole=EnumSet.of(SystemRole.USER);

Thx我不知道这个。有没有一种方法可以对一个对象做同样的事情?找到了:Collections.singleton(“”)。另外,Java 9中新增了
Set.of(obj1,obj2,…)
List.of(obj1,obj2,…)
Collection<SystemRole> sysRole = EnumSet.of(SystemRole.USER);