配列の足し算

ショック!!Javaでは配列の足し算は用意されていないんですね(Java1.4)。

ちょっと配列の足し算するコードを書いてみましょう。
配列のコピーをするメソッドはjava.lang.Systemにarraycopyというメソッドがあります。これで、配列を足し算するコードを書くと

import java.lang.*;

class AddArrayTest {
    public static String[] addArray(String[] ary1, String[] ary2) {
        String[] ary3 = new String[ary1.length + ary2.length];
        System.arraycopy(ary1, 0, ary3, 0, ary1.length);
        System.arraycopy(ary2, 0, ary3, ary1.length, ary2.length);
        return ary3;
    }

    public static void main(String[] args) {
        String[] ary1 = new String[]{"a", "b", "c", "d"};
        String[] ary2 = new String[]{"e", "f", "g"};

        String[] ary3 = AddArrayTest.addArray(ary1, ary2);
        for(int i = 0; i < ary3.length; i++) {
            System.out.println(ary3[i]);
        }

    }
}

という感じかな。
なぜ配列のコピーメソッドが、java.lang.reflect.Arrayクラスじゃなくて、java.lang.Systemクラスなのか不思議。