Java:如何创建仅允许3个不同值的变量

myn*_*EFF 0 java

如何创建一个只允许3个不同值的变量?例如,变量color只能取3个值中的任何一个而不能取{RED, BLACK, ORANGE}其他值.

显然,我知道我可以定义String color,但是有更好的方法吗?

Kon*_*kov 5

定义一个 enum

public enum Color {
   RED, BLACK, ORANGE;
}
Run Code Online (Sandbox Code Playgroud)

并像这样使用它:

Color red = Color.RED;
Run Code Online (Sandbox Code Playgroud)

您可以在封闭类中定义或在封闭类之外定义.

如果你想在类中定义它,enum它将隐式静态(默认情况下)并且可以像这样访问它

SomeClass.Color red = SomeClass.Color.RED;
Run Code Online (Sandbox Code Playgroud)