黑马程序员技术交流社区

标题: 入学测试题之“ 通过反射绕过泛型” [打印本页]

作者: huang_bing_hua    时间: 2016-3-12 18:49
标题: 入学测试题之“ 通过反射绕过泛型”
  1. import java.lang.reflect.Constructor;
  2. import java.lang.reflect.Method;
  3. import java.util.ArrayList;

  4. /*
  5. * 需求:在ArrayList<Integer>集合的对象中,添加字符串"hello"
  6. * 解决:通过反射绕过泛型
  7. */
  8. public class ReflectDemo {
  9.         public static void main(String[] args) throws Exception {
  10.                 //创建集合对象
  11.                 ArrayList<Integer> array = new ArrayList<Integer>();
  12.                 //创建Class文件对象
  13.                 Class c = array.getClass();
  14.                 //创建方法对象
  15.                 Method m = c.getMethod("add", Object.class);
  16.                 //通过m调用Array的add方法,并传入"hello"
  17.                 m.invoke(array, "hello");
  18.                 m.invoke(array, "world");
  19.                
  20.                 System.out.println(array);
  21.                
  22.         }
  23. }
复制代码



作者: huang_bing_hua    时间: 2016-3-12 19:00
反射的小应用:设计一个通用的方法public setProperty(Object obj,String propertyName,Object value),实现对某个类的私有变量的赋值




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2