0

この列挙型がある場合

public static enum Motorcycle {
    YAMAHA("Y", "commons.blue"), BMW("B", "commons.red"), HONDA("H", "commons.yellow"), KAWASAKI("K", "commons.green");

    private String abbreviation;
    private String color;

    SampleStatus(String abbreviation, String color) {
        this.abbreviation = abbreviation;
        this.color = color;
    }

    public String getAbbreviation() {
        return abbreviation;
    }

    public String getColor() {
        return color;
    }
}

略語がある場合、どうすれば色を取得できますか?

例えば:

文字列ブランド = "Y";

対応する色を取得するにはどうすればよいですか (「commons.blue」)

4

4 に答える 4

2

そのための主な方法:

  public static void main(String... s){
    for(Motorcycle m : Motorcycle.values()){
        if(m.getAbbreviation().equals("Y")){
            System.out.println(m.getColor());
            break;
        }
    }
  }

編集これを使用します:

 public static String getColorByAbbreviation(String abbreviation){
    for(Motorcycle m : Motorcycle.values()){
        if(m.getAbbreviation().equals(abbreviation)){
            return m.getColor();
        }
    }
    return "";
}

あなたはそれを呼び出すことができますMotorcycle.getColorByAbbreviation("B")

于 2013-10-30T19:25:10.550 に答える
1

列挙型に、要素がうまく処理されるまでループするメソッドを作成する必要があります。

于 2013-10-30T19:25:30.843 に答える
0

values()最も簡単な方法は、適切な列挙型が見つかるまで反復してから、その色を返すことです。

于 2013-10-30T19:24:27.257 に答える