Java中的Enum值的"子集"

Jer*_*tts 7 java enums

我有一个Java类,其形式如下: -

public class Angle
{
    ANGLE_TYPE angleType;

    ANGLE_TYPE defaultAngleType = ANGLE_TYPE.RAD;

    enum ANGLE_TYPE
    {
        DEG, RAD, DEGMIN, DEGMINSEC;
    }
}
Run Code Online (Sandbox Code Playgroud)

正如可以看到的,该类定义了"枚举".我的问题是关于实例变量'defaultAngleType'.我希望它是这样的,所以这个变量只能赋值RAD或DEG,否则抛出错误.

知道如何实现这个吗?

ome*_*dat 13

您可以使用EnumSet.例如:

Set<ANGLE_TYPE> allowed = EnumSet.of(RAD, DEG);
Run Code Online (Sandbox Code Playgroud)