私はアプリケーション全体(数多くのクラス)で使用されているenum型(引数はyoe CarModel
)を持っています。Java enum型のget()メソッド
public enum CarModel {
DIABLO,
P911,
DB7;
}
私はさまざまな方法でこのCarModel
列挙型を使用するさまざまな方法があり、それぞれが他のものを行うに進む前に、列挙型に応じて、いくつかのString
変数を設定するには、switch文を持っています。 (例えば、いくつかのモデルの製造元を設定するか、原産国を設定するなど)これらの結果は実行時には静的です。
問題は、新しいモデルを列挙型に追加する場合は、各メソッドに渡し、switch文を拡張/変更してその存在を処理します。これは、人間のエラーやコードの重複(さまざまな方法が同じswitch文を使用している場合)に簡単につながる可能性があります。
は はむしろswitch文のすべてオーバーを使用するよりも、私は単一の場所に編集することができ、静的メソッドを持っていると思いますし、次のような動作を可能にする:
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
このことが可能です列挙型で、(そしてこれを行うにしても「正しい」やり方列挙です?
私はこれを常に行い、絶対にenumのこれらの機能を愛しています。 – Malcolm
+1すごくクール!!!古いスタイルの列挙型。 – BlaShadow