———-android培训、java培训、java学习型技术博客、期待与您交流!——-
- 往ArrayList<Integer>里面添加string;
- 方法1:通过反射
package demo; import java.lang.reflect.Method; import java.util.ArrayList; //往ArrayList<Integer>的集合中添加String类型。 /** * 通过反射来思考:(越过泛型的检查) * 1.获取list对象的class文件对象 * 2.通过class文件对象获取方法对象 * 3.通过方法对象添加任意类型的元素 * @author Administrator * */ public class Demo24 { public static void main(String[] args) throws Exception { ArrayList<Integer> list = new ArrayList<Integer>(); //获取list字节码文件对象 Class c=list.getClass(); //通过文件对象获取方法对象(带参的,任意类型) Method m=c.getMethod("add",Object.class); //通过文件对象添加字符串; m.invoke(list, "hello"); System.out.println(list); } }
- ****************************************
- 方法2:泛型也是有范围的
package test2; import java.util.ArrayList; /** * 往ArrayList<Integer>的集合中添加String类型。 * 思路:泛型也是有范围的 * @author Administrator * */ public class FanXing { public static void main(String[] args) { ArrayList<Integer> list = new ArrayList<Integer>(); list.add(42); //list.add("hello"); getStr(list); } private static void getStr(ArrayList list) { list.add("hello"); } }
- 方法1:通过反射