注意,是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
自己写了一个: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
解决方案 »
- 打包jar后,资源文件找不到的问题
- 选择排序的速度竟然比插入的快
- java utf-8 unicode的有关问题
- GUI急救:一直想不到办法解决
- Hotspot的使用?急需了解!
- 类型转换问题?
- 一个冒泡排序的问题。
- 关于JB8的错误
- 一个比较笨的问题:如何用两个Vector对象动态生成一个JTable?及从JTable里取得数据。
- jdbc 一问?
- 简单的问题,如何给1个vector对象中vector对象的元素赋值,要切实真确的,通过编译的,不要给伪代码
- UnitTest如果根据method的return 结果就比较容易测,如果是void的method,可能实现的业务功能比较重要,但是并没有返回或者返回值并不重要
public static void main(String[] args) {
String[] list = { "1", "2", "3", "4" };
Object[] os = copyOf(list, 3);
for (Object o : os) {
System.out.println((String)o);
}
}
——AttrToken[] attrs = ArraysCopyer.copyOf(orig, count); 我测试的没问题
——你是JDK1.5吗?
ArraysCopyer.copyOf返回的object[],并不是你想象的AttrToken[]楼主这样定义使用泛型的意义不大
不要返回数组,定义和返回arraylist<T>会比较有意义