zoukankan      html  css  js  c++  java
  • getClass 与getSimpleName

    //首先定义一个借口
    package com.test;
    
    public interface Fruit {
    
    }
    //定义一个实现类
    
    
    package com.test;
    
    public class Apple implements Fruit {
    
    }
    
    //定义实现类进行测试
    package com.test;
    
    import java.util.ArrayList;
    import java.util.List;
    
    public class TestName {
        public static void main(String[] args) {
            Fruit apple=new Apple();
            System.out.println(apple.getClass().getCanonicalName());//返回com.test.Apple
            System.out.println(apple.getClass().getSimpleName());//Apple
            System.out.println(apple.getClass().getName());//返回com.test.Apple
            
            Apple[] arrApple=new Apple[]{};
            System.out.println(arrApple.getClass().getCanonicalName());//返回com.test.Apple[]
            System.out.println(arrApple.getClass().getSimpleName());//返回Apple[]
            System.out.println(arrApple.getClass().getName());//返回[Lcom.test.Apple;
            
            System.out.println(String.class.getCanonicalName());//返回java.lang.String
            System.out.println(String.class.getSimpleName());//返回String
            System.out.println(String.class.getName());//返回java.lang.String
            
            System.out.println(int.class.getCanonicalName());//返回int
            System.out.println(int.class.getSimpleName());//返回int
            System.out.println(int.class.getName());//返回int
            
            Apple a1=new Apple();
            Apple a2=new Apple();
            List<Apple> appleList=new ArrayList<Apple>();
            appleList.add(a1);
            appleList.add(a2);
            System.out.println(appleList.getClass().getCanonicalName());//返回java.util.ArrayList
            System.out.println(appleList.getClass().getSimpleName());//返回ArrayList
            System.out.println(appleList.getClass().getName());//返回java.util.ArrayList
            
        }
    }
    
    
    //实际应用,运用泛型
    public <T> List<T> getRecords(Class<T> c,Date startDate,Date endDate){
            StringBuilder hql = new StringBuilder("select t from ");
            hql.append(c.getCanonicalName());
            hql.append(" t where t.statTime>=:startTime and t.statTime<:endTime ");
    
            Query query = sessionFactory.getCurrentSession().createQuery(hql.toString());
            query.setParameter("startTime", startDate);
            query.setParameter("endTime", endDate);
            
            return query.list();
        }
    }
    Class类,是获取类的类模板实例对象,通过反射的机制获取。
    根据API中的定义,Class.getSimpleName()方法。是获取源代码中给出的‘底层类’简称
    而Class.getName();以String的形式,返回Class对象的‘实体’名称
     
    参考:http://sunyimaying0925-gmail-com.iteye.com/blog/768789
  • 相关阅读:
    PHP中空字符串介绍0、null、empty和false之间的关系
    腾迅股票数据接口 http/javascript
    PHP关于依赖注入(控制反转)的解释和例子说明
    Xcode离线安装帮助文档
    php对二维数组进行相关操作(排序、转换、去空白等)
    phpqrcode不能输出二维码
    Google Chrome浏览器中如何使用命令
    Mac OS X 懒人版安装教程(之前的图全部挂了,所以重发了)
    酷友观点/经验:支付接口返回数据接收地址,session数据丢失(或者说失效)的问题浅析(原创文章)
    第三方支付过程中session失效问题
  • 原文地址:https://www.cnblogs.com/wangchuanfu/p/5908020.html
Copyright © 2011-2022 走看看