// 第一种
List<String> list = new ArrayList<String>();
//你下面传的参数类型为Object.你传的int 类型的1,会自动装箱成Integer
list.getClass().getMethod("add", Object.class).invoke(list, 1);
System.out.println(String.valueOf(list.get(0)));// 为什么这里要调用String.valueOf()方法。
//上面要加String.valueOf(),是因为,list.get(0)会返回一个Integer类型的对象。
//你想打印它,你就必须将它转换成字符串,String String.valueOf(Integer inte),
//这样才可以调用toString 方法打印它
// 第二种
List<Integer> list2 = new ArrayList<Integer>();
//你下面传的参数类型为Object.你传的"abc" ,是字符串,已经是对象了。
list2.getClass().getMethod("add", Object.class).invoke(list2, "abc");
System.out.println(list2.get(0));// 这可以直接取出元素
//上面list2.get(0)的返回值是字符串。所以可以直接调用toString()方法打印。 |