Wae_Chan
2015-09-24 22:08
public static Object expend(Object arr) {
// 反射创建数组的方式
// 1.获取原数组长度
int oldLen = Array.getLength(arr);
int newLen = (int) (oldLen * 1.5);
// 2.获取原数组的组件类型
Class<?> type = arr.getClass().getComponentType();
// 3.创建新的数组
Object newArr = Array.newInstance(type, newLen);
// 4.将原数组中的元素一一设置到新数组中
for (int i = 0; i < oldLen; i++) {
// 根据指定下标来获取元素
Object oo = Array.get(arr, i);
// 设置到新数组中
Array.set(newArr, i, oo);
}
return newArr;
}
Java 泛型的参数只可以代表类,不能代表个别对象。由于 Java 泛型的类型参数之实际类型在编译时会被消除,所以无法在运行时得知其类型参数的类型。Java 编译器在编译泛型时会自动加入类型转换的编码,故运行速度不会因为使用泛型而泛型约束加快。Java 允许对个别泛型的类型参数进行约束,包括以下两种形式(假设 T 是泛型的类型参数,C 是一般类、泛类,或是泛型的类型参数):T 实现接口 I 。T 是 C ,或继承自 C 。一个泛型类不能实现Throwable接口。
反射——Java高级开发必须懂的
151466 学习 · 335 问题
相似问题