求JDK1.5 泛型数组拷贝函数
注意,是JDK1.5
自己写了一个:
package vec.server.util;
import java.util.ArrayList;
public class ArraysCopyer {
public static <T> T[] copyOf(T[] original,
int newLength) {
if (newLength < 0) {
throw new NegativeArraySizeException();
}
if (original == null) {
throw new NullPointerException();
}
ArrayList<T> target = new ArrayList<T>(newLength);
for (int i = 0; i < newLength; ++i) {
target.add(i, original[i]);
}
for (int i = newLength; i < original.length; ++i) {
target.add(i, null);
}
return (T[])(target.toArray());
}
private ArraysCopyer() { };
}
使用的时候:
AttrToken[] attrs = ArraysCopyer.copyOf(orig, count);
结果异常:
ClassCastException