java反射实现动态扩建数组
2013-01-31 16:56
405 查看
public static Object getCopy(Object sArr){
Class c1 = sArr.getClass();
if(!c1.isArray()){
return null;
}
Class componentType = c1.getComponentType();
int iLength = Array.getLength(sArr);//import java.lang.reflect.Array;
int newlength = iLength*11;
Object newArray = Array.newInstance(componentType, newlength);
System.arraycopy(sArr, 0, newArray, 0, iLength);
return newArray;
}
int[] a = {1,2,3,4,5};
int[] iInt = (int[])getCopy(a);
java.lang.reflect.Array中的newInstance方法可以创建一个制定长度和类型的新数组,然后通过arraycopy方法实现数组复制,之所以数组类型为Object是因为Object可以转化为各种数组类型,而不仅仅是int;
Class c1 = sArr.getClass();
if(!c1.isArray()){
return null;
}
Class componentType = c1.getComponentType();
int iLength = Array.getLength(sArr);//import java.lang.reflect.Array;
int newlength = iLength*11;
Object newArray = Array.newInstance(componentType, newlength);
System.arraycopy(sArr, 0, newArray, 0, iLength);
return newArray;
}
int[] a = {1,2,3,4,5};
int[] iInt = (int[])getCopy(a);
java.lang.reflect.Array中的newInstance方法可以创建一个制定长度和类型的新数组,然后通过arraycopy方法实现数组复制,之所以数组类型为Object是因为Object可以转化为各种数组类型,而不仅仅是int;
相关文章推荐
- java数组反射实现动态的判断一个对象是否是数组并且对数组进行拆包输出
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- Java数组反射实现动态的判断一个对象书否是数组,并且对数组进行拆包输出 。。
- Java反射之JDK动态代理实现简单AOP
- 实现AMF3与Java之间数组的传递(动态创建数组)...
- Java之Vector向量类实现自动动态增长的对象数组-类似动态数组
- 利用java反射实现任意数组copy,reflect.Array
- Java反射之JDK动态代理实现简单AOP
- java利用反射实现动态代理示例
- Android JNI静态和动态注册 、Java Reflect(C或C++层反射和JAVA层反射)、Java 可变参数(JNI实现)
- 选择排序(Java实现)--从键盘输入动态数组,并且排序后输出
- Java 反射 Array动态创建数组
- java 学习笔记--利用反射实现泛型数组的复制
- java语言基础入门——用反射实现动态代理
- 栈的数组实现(动态调整数组大小) JAVA版本
- Java反射之JDK动态代理实现简单AOP
- JAVA JDK的动态代理反射实现
- java反射应用--动态创建和访问数组
- 利用Java的反射、泛型以及动态参数实现JDBC工具类