1

次のように、Javaに列挙型クラスがあります

public enum SMethod {

/**
 * LEAVE IN THIS ORDER
 */
A    (true, true, true,false),
B    (true, true, false,false),
C    (true, true, false,false),
D    (false, false, false)

} 

別のクラスには以下のメソッドがあります

private String getSMethod(boolean isSds) {
    if (isClsSds)
        return "A";
    else 
        return "B";
}

現在、このメソッドはハードコード値を返しますが、文字列です。しかし、SMethod enum を使用して返したいと考えています。次のように記述しました。

private SMethod getSMethod(boolean isSds) {
    if (isClsSds)
        return SMethod.A;
    else 
        return SMethod.B;
}

しかし、私の必要性は、このメソッドが文字列を返す必要があることです。

4

3 に答える 3

2

name()メソッドを使用します。

return SMethod.A.name();

String列挙型オブジェクトの名前を取得します。

于 2013-04-22T07:42:26.087 に答える
2
return SMethod.A.name(); will return string

name()メソッドを参照

enum 宣言で宣言されているとおりに、この enum 定数の名前を返します。

于 2013-04-22T07:42:54.503 に答える
1

2 つの方法があります。

だからあなたが使うことができます

public String getName(SMethod enm)
{
    return enm.name();
    // or enm.toString();
}
于 2013-04-22T07:43:48.877 に答える