0

だから私はこのようなものを持っています

public enum DataType {

    RECORD_TYPE("0"),
    ...

    private String code;

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

    public String getCode() {
         return code;
    }
}

だから私がするとき

System.out.println(DataType.RECORD_TYPE);

文字列RECORD_TYPEを出力しますが、出力したいのですが、0これはしたくありません

System.out.println(DataType.RECORD_TYPE.getCode());

getCode()Enum にメソッドがないことはわかっていますtoStringが、Java が Enum を String に変換するときのデフォルトの動作を変更する方法はありますか?

4

3 に答える 3

5

Enum に toString メソッドが必要ないことはわかっています

実際には、他の s と同様に toString メソッドObjectがあり、オーバーライドできます。

于 2012-06-01T15:19:55.077 に答える
3

もちろん。関数をオーバーライドしtoString()ます。

public String toString() {
  return code;
}
于 2012-06-01T15:20:04.757 に答える
2

この toString() メソッドを列挙型に追加します

public String toString() {
    return getCode();
}
于 2012-06-01T15:20:21.390 に答える