没有什么才能,将就着看吧,重在了解,实现代码如下:
import java.lang.reflect.Method;
import java.util.ArrayList;
public class Demo_reflect1 {
public static void main(String[] args) throws Exception {
//在ArrayList<Integer>集合对象中,添加字符串数据,如何实现?
//泛型只是在编译期有效,在运行期会被擦掉,字节码文件属于运行期
ArrayList<Integer> list =new ArrayList<>();
list.add(45);
list.add(78);
list.add(88);
System.out.println(list);
//1.获取ArrayList的字节码文件
Class<?> clazz = Class.forName("java.util.ArrayList");
//2.获取字节码里面的添加方法add
Method method = clazz.getMethod("add", Object.class);
//3.执行添加方法
method.invoke(list, "abc");
//4.再次输出集合
System.out.println(list);
}
}