标签:获取 元素 next imp 打卡 时间 out 指定 color
利用反射实现通用扩展数组长度的方法
1 import java.lang.reflect.Method; 2 import java.util.*; 3 class Person { 4 public void s(){ 5 System.out.println("测试调用功能"); 6 } 7 } 8 class test{ 9 // “反射就是把java类中的各种成分映射成相应的java类”,反射虽然可以逆向控制程序的执行,但这种方式会导致程序运行时间变长,效率降低。 10 //所以在使用反射方法时,要考虑到这对程序运行效率的影响。 11 } 12 public class work_fanse { 13 14 public static Object goodcopyOf(Object a) { 15 int newLength; 16 Scanner x=new Scanner(System.in); 17 newLength=x.nextInt(); 18 Class cl=null; 19 cl=a.getClass(); 20 //isArray()判断是否为数组 21 if(!cl.isArray()) { 22 return null; 23 } 24 //数组的class对象的getComponentType()方法可以取得一个数组的Class对象, 25 //通过Array.newInstance()可以反射生成数组对象 26 Class Type=cl.getComponentType(); 27 //获取数组长度 28 int length=java.lang.reflect.Array.getLength(a); 29 //创建新的数组 30 Object newArray = java.lang.reflect.Array.newInstance(Type,newLength); 31 //arraycopy()实现将一个数组的指定个数元素复制到另一个数组中 32 System.arraycopy(a,0,newArray,0,Math.min(length,newLength)); 33 return newArray; 34 35 } 36 public static void main(String[] args) { 37 Object a[]= {1,2,3,4,5}; 38 System.out.println(new work_fanse().goodcopyOf(a)); 39 } 40 41 }
标签:获取 元素 next imp 打卡 时间 out 指定 color
原文地址:https://www.cnblogs.com/TuTu-winer/p/10851862.html