版权声明:如需转载请标明出处 https://blog.csdn.net/yj201711/article/details/84999375
使用反射来操作数组
- 创建数组
- 判断是否是数组
- 获取数组的长度
- 获取数组的类型
Array是动态创建数组和操作数组的一个类
package org.lanqiao.reflectarray.demo;
import java.lang.reflect.Array;
public class ReflectArray {
public static void main(String[] args) {
// 普通方式创建数组
int[] arr1 = new int[10];
int[] arr2 = {1,2,3,4};
//使用反射创建数组
Object arr = Array.newInstance(int.class, 10);
boolean isArray = arr.getClass().isArray();
System.out.println(isArray);
//动态给数组添加元素
Array.setInt(arr, 0, 1);
Array.setInt(arr, 1, 2);
Array.setInt(arr, 2, 3);
//动态获取数组中的元素
int i = Array.getInt(arr,2);
System.out.println(i);
//获取数组的长度
int len = Array.getLength(arr);
System.out.println(len);
//获取数组中元素的类型
Class<?> comType = arr.getClass().getComponentType();
System.out.println(comType);
}
}