利用反射编写泛型数组代码

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;
}
posted @ 2021-04-06 23:15  蜗牛321  阅读(64)  评论(0)    收藏  举报