zoukankan      html  css  js  c++  java
  • 利用函数式接口和反射实例化泛型类型变量

    public class Test06 {
    
        public static void main(String[] args) {
            // TODO Auto-generated method stub
            
            String s=instanceT(String::new);
            Date d=instanceT(Date::new);
            System.out.println(s);        //空字符串
            System.out.println(d);      //Thu Aug 24 16:06:50 CST 2017
            
            
            //***************************
            
            String s1=instanceTR(String.class);
            Date d1=instanceTR(Date.class);
            System.out.println(s1);        //空字符串
            System.out.println(d1);     //Thu Aug 24 16:08:15 CST 2017
        }
    
        //利用函数式接口实例化类型变量T,调用者提供一个构造器表达式
        public static <T> T instanceT(Supplier<T> constr){
            T t=constr.get();
            return t;
        }
        
        //利用反射实例化类型变量T,调用者提供一个Class对象
        public static <T> T instanceTR(Class<T> c){
            T t=null;
            try {
                t=c.newInstance();
            } catch (Exception e) {
                t=null;
            }
            return t;
        }
        
    }
    View Code
  • 相关阅读:
    spring框架
    自己来到这个世界的天数
    迭代器
    String
    mybatis-plus条件参数
    Linux常用命令
    web.xml
    log4j.properties
    springmvc.xml
    applicationContext.xml
  • 原文地址:https://www.cnblogs.com/xiu68/p/7423634.html
Copyright © 2011-2022 走看看