Java で static final な配列を public で公開すると要素が書き換えられてしまうため、コピーを返せというイディオムがあります(書籍 Effective Java - 項目 12)。要は不変(イミュータブル)でないオブジェクトを static final で公開するというのはほとんどの場合、誤りだから気をつけてね的なものです。 static final な配列 // 悪い例 public static final String[] VALUES = {"要素1", "要素2"}; // 良い例 private static final String[] VALUES = {"要素1", "要素2"}; public static String[] getValues() { return VALUES.clone(); } このイディオムは Java の言語仕様上、配列