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

时间:2015-01-15 14:46:49

标签: java

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

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

4 个答案:

答案 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;
  }
};