要做的工作:
1.获得数组的类对象
2.确认它是一个数组
3.使用Class类的getComponentType()方法确定数组对应的类型
4.使用Array类的getLength方法得到数组的容量
5.使用Array类的newInstance方法构造一个和原数组同类型的数组对象
6.使用System的arraycopy方法将原数组复制到新数组中
代码如下:
public static Object copyOf(Object a,int newLength)
{
Class cl=a.getClass();
if(!cl.isArray()) return null;
Class componentType=cl.getComponentType();
int length=Array.getLength(a);
Object newArray=Array.newInstance(componentType,newLength);
System.arraycopy(a,0,newArray,0,Math.min(length,newLength);
return newArray;
}