package javase16; import java.lang.reflect.Array; public class javase16_1 { public static void main(String[] args){ Test tes=new Test(); tes.print(); tes.is=(int[])addArrAyLength(tes.is,10); tes.ss=(String[])addArrAyLength(tes.ss,10); tes.print(); } public static Object addArrAyLength(Object array,int newLength){ Object newArray=null; Class componentType=array.getClass().getComponentType(); newArray= Array.newInstance(componentType,newLength); System.arraycopy(array,0,newArray,0,Array.getLength(array)); return newArray; } } 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]); } System.out.println(); for(int i=0;i<ss.length;i++){ System.out.println("ss["+i+"]="+ss[i]); } System.out.println(); } }
Java程序利用反射实现通用扩展数组长度的方法。
最新推荐文章于 2022-04-24 16:53:38 发布