【训练1】反射方法(增加数组的长度)
利用反射实现通用扩展数组长度的方法。
对象类和测试类
/*【训练1】反射方法(增加数组的长度)
* 利用反射实现通用扩展数组长度的方法。
* */
package fsyzj;
import java.lang.reflect.*;
class Test{
public int[] is = {1,2,3};
public String[] ss = {"A","B","C"};
public void print() {
for(int i = 0;i < is.length;i++) {
System.out.println("is【" + i + "】=" + is[i]);
}
for(int i = 0;i < ss.length;i++) {
System.out.println("ss【" + i + "】" + ss[i]);
}
System.out.println();
}
}
public class Xl1 {
public static Object addArrayList(Object array,int newLength) {
Object newArray = null;
Class componentType = array.getClass().getComponentType();
newArray = Array.newInstance(componentType,newLength); //反射创建新的数组,调用数组的长度和数组元素组件类型,形如:java.lang.String或java.lang.Integer。
System.arraycopy(array,0,newArray,0,Array.getLength(array));
return newArray;
}
public static void main(String[] args) {
// TODO 自动生成的方法存根
Test test = new Test();
test.print();
test.is = (int[])addArrayList(test.is,10);
test.ss = (String[])addArrayList(test.ss,10);
test.print();
}
}