zoukankan      html  css  js  c++  java
  • 【通过反射越过泛型检查】

    package com.yjf.esupplier.common.test;
    
    import java.lang.reflect.Method;
    import java.util.ArrayList;
    
    /**
     * @author shusheng
     * @description 通过反射越过泛型检查
     * @Email shusheng@yiji.com
     * @date 2019/1/5 18:37
     */
    public class ReflectDemo5 {
    
        public static void main(String[] args) throws Exception {
            // 创建集合对象
            ArrayList<Integer> array= new ArrayList<Integer>();
            Class c = array.getClass();
            Method m1 = c.getMethod("add", int.class, Object.class);
            m1.invoke(array,0,"hello");
            m1.invoke(array,1,"world");
            m1.invoke(array,2,"java");
            System.out.println(array);
            System.out.println("------------------------------");
            Method m2 = c.getMethod("add",Object.class);
            m2.invoke(array,"hello");
            m2.invoke(array,"world");
            m2.invoke(array,"java");
            System.out.println(array);
        }
    
    }
    package com.yjf.esupplier.common.test;
    
    /**
     * @author shusheng
     * @description
     * @Email shusheng@yiji.com
     * @date 2018/12/29 13:42
     */
    public class Person {
    
            private String name;
            int age;
            public String address;
    
            public Person() {
            }
    
            private Person(String name) {
                this.name = name;
            }
    
            Person(String name, int age) {
                this.name = name;
                this.age = age;
            }
    
            public Person(String name, int age, String address) {
                this.name = name;
                this.age = age;
                this.address = address;
            }
    
            public void show() {
                System.out.println("show方法的输出");
            }
    
            public void method(String s) {
                System.out.println("method方法的输出: " + s);
            }
    
            public String getString(String s, int i) {
                return s + "---" + i;
            }
    
            private void function() {
                System.out.println("function方法的输出");
            }
    
            @Override
            public String toString() {
                return "Person [name=" + name + ", age=" + age + ", address="
                        + address
                        + "]";
            }
    
    }
    终身学习者
  • 相关阅读:
    poj 1113 Wall 凸包的应用
    NYOJ 78 圈水池 (入门级凸包)
    Monotone Chain Convex Hull(单调链凸包)
    poj Sudoku(数独) DFS
    poj 3009 Curling 2.0(dfs)
    poj 3083 Children of the Candy Corn
    Python join()方法
    通过FISH和下一代测序检测肺腺癌ALK基因融合比较
    华大病原微生物检测
    NGS检测ALK融合大起底--转载
  • 原文地址:https://www.cnblogs.com/zuixinxian/p/11275258.html
Copyright © 2011-2022 走看看