JAVA通过反射实现向ArrayList集合中进行增删改查反射用classforname方法
使用反射实现向ArrayList集合中进行增删改查的示例代码如下:
import java.lang.reflect.*;
import java.util.ArrayList;
public class ReflectionExample {
public static void main(String[] args) throws Exception {
// 创建ArrayList对象
ArrayList<String> arrayList = new ArrayList<>();
// 获取ArrayList的Class对象
Class<?> arrayListClass = Class.forName("java.util.ArrayList");
// 获取add方法
Method addMethod = arrayListClass.getMethod("add", Object.class);
// 调用add方法向ArrayList中添加元素
addMethod.invoke(arrayList, "Hello");
addMethod.invoke(arrayList, "World");
// 获取size方法
Method sizeMethod = arrayListClass.getMethod("size");
// 调用size方法获取ArrayList的大小
int size = (int) sizeMethod.invoke(arrayList);
System.out.println("ArrayList size: " + size);
// 获取get方法
Method getMethod = arrayListClass.getMethod("get", int.class);
// 调用get方法获取ArrayList中的元素
String element = (String) getMethod.invoke(arrayList, 0);
System.out.println("Element at index 0: " + element);
// 获取remove方法
Method removeMethod = arrayListClass.getMethod("remove", int.class);
// 调用remove方法删除ArrayList中的元素
removeMethod.invoke(arrayList, 0);
// 调用size方法获取ArrayList的大小
size = (int) sizeMethod.invoke(arrayList);
System.out.println("ArrayList size after remove: " + size);
}
}
这段代码演示了通过反射的方式,动态调用ArrayList的方法实现增删改查操作。首先使用Class.forName方法获取ArrayList的Class对象,然后使用getMethod方法获取需要调用的方法,通过invoke方法调用方法完成相应的操作
原文地址: https://www.cveoy.top/t/topic/iPMo 著作权归作者所有。请勿转载和采集!