我寫了一個數據模型,將其合併到一個類中,我需要合併3個數組。這些數組具有固定大小(當然)並初始化爲空。我用這個代碼:合併空陣列Java
public static <T> T[] merge(T[]... arrays) {
int size = 0;
for (T[] array : arrays) {
size += array.length;
}
T[] merged = (T[]) Array.newInstance(arrays[0][0].getClass(), size);
int start = 0;
for (T[] array : arrays) {
System.arraycopy(array, 0,
merged, start, array.length);
start += array.length;
}
return (T[]) merged;
}
這條線是不正確的:
T[] merged = (T[]) Array.newInstance(arrays[0][0].getClass(), size);
我需要精確的哪一類我用,但我得到一個空指針!
創建具有適當能力的'ArrayList'會更快得到陣列本身的類型。 – SLaks
@SLaks也許更快一些。我個人認爲,在效率低下的「97%」之前,我們會認爲這是無法解決的問題。但我同意這樣做會更快。 – corsiKa
確實......我相信'List'接口支持'toArray()'方法,但它自然會比'ArrayList'更快。 – bdares