zoukankan      html  css  js  c++  java
  • JAVA反射机制:在泛型为Integer的ArrayList中存放一个String类型的对象、在泛型为String的ArrayList中存放一个integer类型的对象、在泛型为Map的ArrayList中存放一个integer/String/HashMap类型的对象

    1. 反射机制:在泛型为Integer的ArrayList中存放一个String类型的对象

    package test;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.List;
    
    public class TestReflect1 {
        /**
         * 反射机制:在泛型为Integer的ArrayList中存放一个String类型的对象
         * @param args
         * @throws NoSuchMethodException
         * @throws SecurityException
         * @throws IllegalAccessException
         * @throws IllegalArgumentException
         * @throws InvocationTargetException
         */
        public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
            List<Integer> list = new ArrayList<Integer>();
            Method method = list.getClass().getMethod("add", Object.class);
            method.invoke(list, 1);
            method.invoke(list, 2);
            method.invoke(list, "Java反射机制测试");
            method.invoke(list, 3);
            System.out.println(list);
        }
    }

    运行结果:


    2. 反射机制:在泛型为String的ArrayList中存放一个integer类型的对象

    package test;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.List;
    
    public class TestReflect2 {
        /**
         * 反射机制:在泛型为String的ArrayList中存放一个integer类型的对象
         * @param args
         * @throws NoSuchMethodException
         * @throws SecurityException
         * @throws IllegalAccessException
         * @throws IllegalArgumentException
         * @throws InvocationTargetException
         */
        public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
            List<String> list = new ArrayList<String>();
            Method method = list.getClass().getMethod("add", Object.class);
            method.invoke(list, "Java反射机制测试");
            method.invoke(list, "Java反射机制测试");
            method.invoke(list, 1);
            method.invoke(list, "Java反射机制测试");
            System.out.println(list);
        }
    }

    运行结果:


    3. 反射机制:在泛型为Map的ArrayList中存放一个integer/String/HashMap类型的对象

    package test;
    
    import java.lang.reflect.InvocationTargetException;
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    import java.util.HashMap;
    import java.util.List;
    import java.util.Map;
    
    public class TestReflect3 {
        /**
         * 反射机制:在泛型为Map的ArrayList中存放一个integer/String/HashMap类型的对象
         * @param args
         * @throws NoSuchMethodException
         * @throws SecurityException
         * @throws IllegalAccessException
         * @throws IllegalArgumentException
         * @throws InvocationTargetException
         */
        public static void main(String[] args) throws NoSuchMethodException, SecurityException, IllegalAccessException, IllegalArgumentException, InvocationTargetException {
            List<Map<String, Object>> list = new ArrayList<>();
            Method method = list.getClass().getMethod("add", Object.class);
            method.invoke(list, 1);
            method.invoke(list, "Java反射机制测试");
            
            Map<String, Object> map = new HashMap<String, Object>();
            map.put("name", "zhangsan");
            map.put("sex", "男");
            
            method.invoke(list, map);
            System.out.println(list);
        }
    }

    运行结果:

  • 相关阅读:
    你绝对想不到R文件找不到(cannot resolve symbol R)的原因
    你绝对想不到R文件找不到(cannot resolve symbol R)的原因
    如何安装gulp
    简单实现IE9及以下对placeholder的兼容性
    vue 新闻列表滚动效果
    2018数据技术嘉年华-金融峰会·重庆站即将起航!
    高手过招:用SQL解决环环相扣的刑侦推理问题(罗海雄版本)
    实战课堂:为什么更换存储之后一切正常但RAC集群启动不了?
    MySql避免重复插入记录方法(ignore,Replace,ON DUPLICATE KEY UPDATE)
    Druid数据库连接池和Druid内置监控系统简单介绍
  • 原文地址:https://www.cnblogs.com/hooly/p/11230279.html
Copyright © 2011-2022 走看看