定数のコレクションをクラスまたはインターフェイスに配置する必要がありますか?

デイブジョンストン:

静的定数のコレクションがある場合、それらをクラスまたはインターフェイス(Java)に配置した場合にさまざまなプロジェクト間で共有できるように、一元的に宣言する必要があります。

過去にそれらがほとんどクラスに配置されるのを見たことがありますが、クラスはインスタンス化されないのでインスタンス化されるべきではないので、インターフェイスでより優れているかもしれませんが、インターフェイスはどのクラスでも実装されるべきではないと考えました

public class ErrorCodes {
    public static final String ERROR_1 = "-1";
    public static final String ERROR_2 = "-2";
}

または

public interface ErrorCodes {
    public static final String ERROR_1 = "-1";
    public static final String ERROR_2 = "-2";
}
ヨアヒムザウアー:

彼らが強いつながりを持っているなら、私はそれらを列挙型に入れます:

public enum Error {
  ERROR_1("-1", "foo went wrong"),
  ERROR_2("-2", "bar went wrong");

  private final String id;
  private final String message;

  Error(String id, String message) {
    this.id=id;
    this.message=message;
  }

  public String getId() {
    return id;
  }

  public String getMessage() {
    return message;
  }
}

利点は、コードにタイプセーフを設定できることと、IDベースのルックアップを簡単に追加できることです(HashMap<String,Error>コンストラクターでを作成するか、単にをループすることによってvalues())。

この記事はインターネットから収集されたものであり、転載の際にはソースを示してください。

侵害の場合は、連絡してください[email protected]

編集
0

コメントを追加

0

関連記事

分類Dev

@Securedアノテーションをインターフェイスまたはクラスに配置する必要がありますか?

分類Dev

@Securedアノテーションをインターフェイスまたはクラスに配置する必要がありますか?

分類Dev

コレクション クラスまたはインターフェイスを宣言する必要がありますか?

分類Dev

@Transactionalアノテーションはどこに配置する必要がありますか:インターフェイス定義または実装クラス?

分類Dev

クラスは定数のみのインターフェースを実装する必要がありますか?

分類Dev

定数をインターフェイスに配置する必要がありますか?

分類Dev

コントローラはアプリケーション層またはインフラストラクチャ層の内部にありますか?Clean Architectureでコントローラーを使用する必要がありますか?

分類Dev

画像またはスライドショーにフェードインを追加する必要があります

分類Dev

RXJSサブジェクトのサブスクライブ-アクションはプレーンオブジェクトである必要があります。非同期アクションにカスタムミドルウェアを使用する

分類Dev

コンストラクター内のスレッドセーフでないコレクションの変更は同期する必要がありますか?

分類Dev

PowerPointの画像とグラフを作成するには、どのクラス/インターフェイスを使用する必要がありますか?

分類Dev

Kotlinで変更されていないコレクションを宣言するために、常に不変のコレクションインターフェイスを使用する必要があるのはなぜですか?

分類Dev

基本daoを実装すると、エラーが発生します。パラメーターのタイプは、@ Entityで注釈が付けられたクラスまたはそのコレクション/配列である必要があります

分類Dev

サブクラスはインターフェイスを実装する必要がありますか?

分類Dev

実装インターフェイスをクラスに配置する理由はありますか?

分類Dev

副作用を回避するために、ゲッターはオブジェクトインスタンスのコピーを返す必要がありますか?

分類Dev

コレクションを列挙するために2つのインターフェイスが必要なのはなぜですか?

分類Dev

ユーザーインターフェイスと管理インターフェイスをコードで分離する(クラスを分離する)必要がありますか、または不要な機能をcssで非表示にする必要があります

分類Dev

Pythonのクラスのインスタンス変数はどこに配置する必要がありますか?

分類Dev

BLOBをAzureファイルパスに取り込むためにどのアクションをつなぎ合わせる必要がありますか(ファイルコピーまたはファイル作成アクション)

分類Dev

インターフェイスに独自のコールバッククラスを含める必要がありますか?

分類Dev

UMLクラス図にインターフェースRunnableを追加する必要がありますか?

分類Dev

宣言またはコンストラクターでインスタンス変数をインスタンス化する必要がありますか?

分類Dev

Javaでは、定数プロパティにゲッターまたはインターフェイスタグを使用する必要がありますか?

分類Dev

エラー:jar ファイルからの Lambda は、クラスパス上のインターフェースをコンパイルする必要があります。不明なインターフェースは java.util.function.Function です

分類Dev

基本クラスから継承されたインターフェイスをサブクラスで明示的に実装する必要がありますか?

分類Dev

インターフェイスから返された型の値にアクセスするには、型アサーションを使用する必要がありますか?

分類Dev

平均的なRailsプロジェクトにはどの継続的インテグレーションサービスを選択する必要がありますか?

分類Dev

インターフェイスは別のパッケージに配置する必要がありますか?

Related 関連記事

  1. 1

    @Securedアノテーションをインターフェイスまたはクラスに配置する必要がありますか?

  2. 2

    @Securedアノテーションをインターフェイスまたはクラスに配置する必要がありますか?

  3. 3

    コレクション クラスまたはインターフェイスを宣言する必要がありますか?

  4. 4

    @Transactionalアノテーションはどこに配置する必要がありますか:インターフェイス定義または実装クラス?

  5. 5

    クラスは定数のみのインターフェースを実装する必要がありますか?

  6. 6

    定数をインターフェイスに配置する必要がありますか?

  7. 7

    コントローラはアプリケーション層またはインフラストラクチャ層の内部にありますか?Clean Architectureでコントローラーを使用する必要がありますか?

  8. 8

    画像またはスライドショーにフェードインを追加する必要があります

  9. 9

    RXJSサブジェクトのサブスクライブ-アクションはプレーンオブジェクトである必要があります。非同期アクションにカスタムミドルウェアを使用する

  10. 10

    コンストラクター内のスレッドセーフでないコレクションの変更は同期する必要がありますか?

  11. 11

    PowerPointの画像とグラフを作成するには、どのクラス/インターフェイスを使用する必要がありますか?

  12. 12

    Kotlinで変更されていないコレクションを宣言するために、常に不変のコレクションインターフェイスを使用する必要があるのはなぜですか?

  13. 13

    基本daoを実装すると、エラーが発生します。パラメーターのタイプは、@ Entityで注釈が付けられたクラスまたはそのコレクション/配列である必要があります

  14. 14

    サブクラスはインターフェイスを実装する必要がありますか?

  15. 15

    実装インターフェイスをクラスに配置する理由はありますか?

  16. 16

    副作用を回避するために、ゲッターはオブジェクトインスタンスのコピーを返す必要がありますか?

  17. 17

    コレクションを列挙するために2つのインターフェイスが必要なのはなぜですか?

  18. 18

    ユーザーインターフェイスと管理インターフェイスをコードで分離する(クラスを分離する)必要がありますか、または不要な機能をcssで非表示にする必要があります

  19. 19

    Pythonのクラスのインスタンス変数はどこに配置する必要がありますか?

  20. 20

    BLOBをAzureファイルパスに取り込むためにどのアクションをつなぎ合わせる必要がありますか(ファイルコピーまたはファイル作成アクション)

  21. 21

    インターフェイスに独自のコールバッククラスを含める必要がありますか?

  22. 22

    UMLクラス図にインターフェースRunnableを追加する必要がありますか?

  23. 23

    宣言またはコンストラクターでインスタンス変数をインスタンス化する必要がありますか?

  24. 24

    Javaでは、定数プロパティにゲッターまたはインターフェイスタグを使用する必要がありますか?

  25. 25

    エラー:jar ファイルからの Lambda は、クラスパス上のインターフェースをコンパイルする必要があります。不明なインターフェースは java.util.function.Function です

  26. 26

    基本クラスから継承されたインターフェイスをサブクラスで明示的に実装する必要がありますか?

  27. 27

    インターフェイスから返された型の値にアクセスするには、型アサーションを使用する必要がありますか?

  28. 28

    平均的なRailsプロジェクトにはどの継続的インテグレーションサービスを選択する必要がありますか?

  29. 29

    インターフェイスは別のパッケージに配置する必要がありますか?

ホットタグ

アーカイブ