Java 反射操作 ArrayList:增删改查示例
使用反射实现向 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/qvR4 著作权归作者所有。请勿转载和采集!