使用枚举访问静态变量

时间:2014-02-25 16:15:28

标签: java enums

存在一个定义一组常量的类

public class CritterCode {

    public static String KITTY = "KT";
    public static String PUPPY = "PP";
}

我创建了一个将在组合框中使用的枚举。

public enum Critter {
   KITTY,
   PUPPY
}

鉴于Critter,我想获得相应的CritterCode

是否可以在不编写重复代码的情况下完成此操作?

3 个答案:

答案 0 :(得分:7)

这样做,

public enum Critter {
  KITTY("KT"),
  PUPPY("PP");

  private String code;
  Critter(String code) {
      this.code = code;
  }

  public String getCode() {
    return this.code;
  }
}

这样你可以摆脱CritterCode

答案 1 :(得分:7)

public enum Critter {
    KITTY(CritterCode.KITTY),
    PUPPY(CritterCode.PUPPY)

    private final String code;

    private Critter(String code) {
        this.code = code;
    }

    public String getCode() {
        return code;
    }
}

答案 2 :(得分:1)

使用枚举属性

public enum Critter {
   KITTY("KT"),
   PUPPY("PP");

    String critterCode;

    public Critter(String critterCode) {
        this.critterCode = critterCode;
    }

    public String getCritterCode() {
        this.critterCode;
    }
}