私は列挙型(引数のために言う)を持ってCarModel
おり、アプリケーション全体(多数のクラス)で使用されます。
public enum CarModel {
DIABLO,
P911,
DB7;
}
この列挙型をさまざまな方法で使用するさまざまなメソッドがあり、それぞれに、他の処理を実行する前に、列挙型に応じてCarModel
いくつかの変数を設定するswitchステートメントがあります。String
(たとえば、モデルの製造元を設定したり、原産国を設定したりします。これらの結果は実行時に静的です)
問題は、列挙型に新しいモデルを追加する場合は、各メソッドに移動し、その存在を処理するためにswitchステートメントを拡張/変更する必要があるということです。これは、人為的エラーやコードの重複(さまざまなメソッドが同じswitchステートメントを使用する場合)につながる可能性があります。
全体的にswitchステートメントを使用するのではなく、単一の場所で編集でき、次のような動作を可能にする静的メソッドが必要です。
String country = CarModel.DIABLO.getCountry() // returns Italy
String manufacturer = CarModel.P911.getManufacturer() // returns Porsche
これは列挙型で可能ですか(そして列挙型はこれを行うための「正しい」方法ですらありますか?