黑马程序员-------Java笔记--------怎么越过泛型检查

来源:互联网 发布:恒生电子软件开发升迁 编辑:程序博客网 时间:2024/06/05 07:29

———-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");}}

0 0
原创粉丝点击