列挙型クラスのカスタムプロパティ
これにより、各列挙値にのようないくつかのプロパティを与えることができ、静的な列挙型の静的変数の場所よりも使いやすいです
例1:
} パブリック文字列のgetName(){ 戻り名。 } } 公共ボイドのsetName(文字列名){ this.name =名前; リターン"名:" + this.name + "コード:" + this.code。 パブリック文字列にgetCode(){ 戻りコード。 } 公共ボイドSETCODE(文字コード){ this.code =コード。 } パブリック静的GasStationChannelパース(文字コード){ IF(コード== NULL){ 戻りヌル。 } ため(GasStationChannel channelType:GasStationChannel.values()){ IF(。channelType.getCode()に等しい(コード)){ channelTypeを返します。 } } はnullを返します。 } @Override パブリック文字列のtoString(){ }}
例2:
パブリック列挙ドメイン{ XB( "11"、 "西北")、 HD( "13"、 "华东")、 DB( "14"、 "东北")、 HB( "15"、 "华北")。 プライベート文字列のコード; プライベート文字列名; ドメイン(文字コード、文字列名){ this.code =コード。 this.name =名前; } パブリック文字列にgetCode(){ 戻りコード。 } パブリック文字列のgetName(){ 戻り名。 } / ** *根据ドメインコード、返回枚举类型 * / パブリック静的ドメインgetDomain(文字コード)をスロー例外{ ドメインdomain = NULL; スイッチ(コード。 ケース"11": ドメイン= XB。 ブレーク; 場合"13": ドメイン= HD; ブレーク; 場合"14": ドメイン= DB。 ブレーク; 場合"15": ドメイン= HB; ブレーク; デフォルト: (String.Formatの( "!传入的域ID [%s]の不存在、请检查"、コード))新しい例外を投げます。 } ドメインを返します。 } }
二以上の個人的な好みに応じて、個人は、実施例1に対してより傾斜している、達成することができ、コードの構造がより美しくなります