0

データベース用の静的文字列クラスがあるので、テーブルと列は常に設計どおりに綴られます。

現在、この1つのクラスに約500行のコードがありますが、簡単な例を次に示します。

public const string PURCHASING = "PURCHASING";
public const string SCHED_PURCH = "SCHED/PURCH";
public const string SCHEDULING = "SCHEDULING";

「店員」部門の読み取り専用の静的文字列配列を作成するには、次の静的宣言を使用します。

public static string[] CLERK_DEPT {
  get {
    return new string[] { PURCHASING, SCHEDULING, SCHED_PURCH };
  }
}

私のデータベース文字列クラスには、このようなコードの行がたくさんあります。

今日、私は誰かが非常に似たようなことをしているこのアクティブな投稿に出くわしました:

クラスのプライベートフィールドの変更を防ぐにはどうすればよいですか?

そこでの答えは、私が以前は考えていなかった読み取り専用の文字列配列を提供する方法を提供しました。

配列のコピーを返す必要があります。

public String[] getArr() {
  return arr == null ? null : Arrays.copyOf(arr, arr.length);
}

それは、ここにいる誰かが私の読み取り専用文字列配列を返すより効率的な方法を知っているかどうか疑問に思っています。

私はreturn new string[]自分のコードでのアイデアを常に嫌っていたことを認めなければなりません。

それで、ありますか?...これを行うためのより効率的でクリーンな方法ですか、それとも私はすでに最良のソリューションを作成しましたか?

4

2 に答える 2