Generics では配列が使えないようだし、
Arrays.asList で作った List オブジェクトは addAll メソッドが使えなかった orz
しょうがないのでリフレクション(Arrayクラス) と System.arraycopy を使って、配列を連結する。
import java.lang.reflect.*;
public class Arrayz {
public static void main(String[] args) {
String[] a = {"いろ", "はに", "ほ", "へ", "と"};
String[] b = {"ちり", "ぬる", "を", "わ", "か"};
String[] c = (String[])concat(String.class, a, b);
for(int i=0;i<c.length; i++){
System.out.print(c[i]);
}
System.out.println();
}
public static Object[] concat(Class cls, Object[] a, Object[] b) {
Object[] dst = (Object[])Array.newInstance(cls, a.length + b.length);
System.arraycopy(a, 0, dst, 0, a.length);
System.arraycopy(b, 0, dst, a.length, b.length);
return dst;
}
}
出力結果:
いろはにほへとちりぬるをわか
# あぁ、厳しい……もっと手軽に配列をつなげたい
tags: zlashdot Java Java
Posted by NI-Lab. (@nilab)