1

私はJava文字列配列を持っています:

public static final String[] FIELDS_NAMES = { "Albert", "Berta", "Carl" };
public static final String[] FIELDS_NUMBERS = { "123", "456", "789" };

私がすでに持っているものから3番目の定数を作成したいと思います。現在、私はすべてを繰り返すことでそれを行っています:

public static final String[] FIELDS_ALL = { 
    "Albert", "Berta", "Carl", "123", "456", "789"
};

しかし、私が本当に欲しいのはこれです:

public static final String[] FIELDS_ALL = {FIELDS_NAMES, FIELDS_NUMBERS};

Javaでそれを行う方法はありますか? 明らかに、物事をシャッフルするためにループを実行したくありません...

4

4 に答える 4

1

他の回答で提案されているようにApache Commons Langを使用するのが最も簡単ですが、別のユーティリティメソッドを作成せずにJava組み込み構文を使用する方法があります。

public static final String[] FIELDS_ALL =
    new ArrayList<String>() {{
            addAll(Arrays.asList(FIELDS_NAMES));
            addAll(Arrays.asList(FIELDS_NUMBERS));
        }}.toArray(new String[0]);

(構文が他の人にとって奇妙に見える場合: ArrayList の子クラスである匿名クラスを作成し、初期化子を使用して呼び出しaddAllて ArrayList の内容を設定しています。)

于 2013-05-13T10:11:13.513 に答える
0

使える:

String[] FIELDS_NAMES = { "Albert", "Berta", "Carl" };
        String[] FIELDS_NUMBERS = { "123", "456", "789" };

        String[] FIELDS_ALL = new String[FIELDS_NAMES.length + FIELDS_NUMBERS.length] ;
        System.arraycopy(FIELDS_NAMES, 0, FIELDS_ALL, 0, FIELDS_NAMES.length);
        System.arraycopy(FIELDS_NUMBERS, 0, FIELDS_ALL, FIELDS_NAMES.length, FIELDS_NUMBERS.length);
        for (int j = 0; j < FIELDS_ALL.length; j++) {
            System.out.println(FIELDS_ALL[j]);
        }
于 2013-05-13T09:48:22.073 に答える