【Java SE 7】 次世代Javaの動向 9 【dolphin】
■ このスレッドは過去ログ倉庫に格納されています
0122デフォルトの名無しさん
2010/07/19(月) 14:16:55呼び出し側と呼び出されるメソッドだけならそれで解決できるかもしれんが、
メソッド内でT[]を引数か戻り値に使う別のメソッド呼ばれるときはどうやって解決するんだ?
<T> T[] join(T[][] arrays, Class<T> clazz) {
int size = 0; for (T[] array : arrays) size += array.length;
T[] retArray = (T[])Array.newInstance(clazz, size);
size = 0; for (T[] array : arrays) { System.arraycopy(array, 0, retArray, size, array.length); size + = array.length; }
return retArray;
}
T[] toFlatArray(List<List<T>> l, Class<T> clazz) {
T[][] arrays = (T[][])Array.newInstance(Array.newInstance(clazz, 0).getClass(), l.size());
for (int i = 0; i < l.size(); i++) arrays[i] = l.get(i).toArray(Array.newInstance(clazz, l.get(i).size()))
return join(arrays);
}
■ このスレッドは過去ログ倉庫に格納されています