如何创建仅允许3个不同值的变量?例如,变量color
只能采用3个值中的任何一个{RED, BLACK, ORANGE}
而不能使用其他值。
显然,我知道我可以定义String color
,但是有更好的方法吗?
答案 0 :(得分:5)
定义enum
public enum Color {
RED, BLACK, ORANGE;
}
并像这样使用它:
Color red = Color.RED;
您可以在封闭类中定义。
如果您希望在类中定义它,enum
将隐式静态(默认情况下),并且可以像这样访问它
SomeClass.Color red = SomeClass.Color.RED;
答案 1 :(得分:0)
您可以使用枚举。 它只允许使用特定的对象。
Enum Color { RED, GREEN, BLUE };
Color var = Color.RED;
答案 2 :(得分:0)
如果您想要一种简单的方法来定义没有特定含义的color
:
public enum Color {
RED, BLACK, ORANGE;
}
如果要定义一个可以允许真实java.awt.Color
的变量:
import java.awt.Color;
public enum MyColor
{
RED (Color.RED),
BLACK (Color.BLACK),
ORANGE (Color.ORANGE);
private Color value;
private MyColor(Color value) {
this.value = value;
}
public Color getValue() {
return value;
}
}
答案 3 :(得分:0)
枚举变量/字段也可以保留null
,因此您将有4个可能的值,BLACK,RED,ORANGE和null
。尝试使用null
作为BLACK。
enum Color {RED,ORANGE;
static boolean isBlack(Color c){
return c == null;
}
static boolean isRed(Color c){
return c == RED;
}
static boolean isOrange(Color c){
return c == ORANGE;
}
};