0
点赞
收藏
分享

微信扫一扫

java利用反射扩展任意数组的方法


java利用反射扩展任意数组的方法

package com.company;

import java.lang.reflect.Array;
import java.util.Arrays;

/**
* java利用反射扩展任意数组的方法
*/
public class TestReflect {

public static void main(String[] args) {
int[] arr = {1,2,3,4,5};
int[] o = (int[]) exprendArrayLength(arr, 8);
System.out.println(Arrays.toString(o));

}

public static Object exprendArrayLength(Object a, int newLength){
Class<?> aClass = a.getClass();
if(!aClass.isArray()){
return null;
}
Class<?> componentType = aClass.getComponentType();
int length = Array.getLength(a);
Object newArray = Array.newInstance(componentType, newLength);
System.arraycopy(a,0,newArray,0,Math.min(length,newLength));
return newArray;
}
}

运行结果:

java利用反射扩展任意数组的方法_java基础


举报

相关推荐

0 条评论