カスタムプロパティクラスのJavaのenum

列挙型クラスのカスタムプロパティ

これにより、各列挙値にのようないくつかのプロパティを与えることができ、静的な列挙型の静的変数の場所よりも使いやすいです

例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に対してより傾斜している、達成することができ、コードの構造がより美しくなります

おすすめ

転載: www.cnblogs.com/unknows/p/11200246.html