//首先定义一个借口
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

getClass 与getSimpleName的更多相关文章

  1. java 捕获所有异常

    1.) 通过捕获异常类型的基类Exception就可以处理所有类型的异常.(事实上还有其它的基类,但Exception是同编程活动相关的基类) 2.)因为Exception是与编程有关的所有异常类的基 ...

  2. Java class对象说明 Java 静态变量声明和赋值说明

        先看下JDK中的说明: java.lang.Object java.lang.Class<T> Instances of the class Class represent cla ...

  3. 用泛型方法Java从实体中提取属性值,以及在泛型方法中的使用

    public <T> T getFieldValue(Object target, String fieldName, Class<T> typeName) { try { O ...

  4. getCanonicalName和getSimpleName getName的区别与应用

    接口: package com.test; public interface Fruit { } 一个实现类: package com.test; public class Apple impleme ...

  5. getName()、getCanonicalName()、getSimpleName()异同

    package classes; class Box { class Inner { } } public class TestGetName { public static void main(St ...

  6. 随笔:关于Class.getSimpleName()

    最近学习过程中,遇到了Class.getSimpleName()这个方法,就搜索了一些资料: API定义: Class.getName():以String的形式,返回Class对象的"实体& ...

  7. java Class.getSimpleName() 的用法

    Usage in android: private static final String TAG = DemoApplication.class.getSimpleName(); public cl ...

  8. 关getClass().getClassLoader()

    InputStream   is   =   getClass().getClassLoader().getResourceAsStream("helloworld.properties&q ...

  9. super.getClass()方法调用

    下面程序的输出结果是多少?import java.util.Date;public class Test extends Date{public static void main(String[] a ...

随机推荐

  1. ORACLE SQL单行函数(三)【weber出品必属精品】

    16.L:代表本地货币符,这个和区域有关.这个时候我们想来显示一下人民币的符号:¥ $ vi .bash_profile ---写入如下内容: export NLS_LANG='SIMPLIFIED ...

  2. JavaScript 客户端JavaScript之 Web浏览器的环境

    Web浏览器实现的Javascript,通过Web浏览器实现的JavaScript引入了大量可脚本化的对象(1.Web浏览器 2.HTML 3.HTML中的内容)  Web浏览器中的Javascrip ...

  3. Quartz.net使用记录

    1.引入dll文件: nuget控制台:安装quartz:Install-Package Quartz 安装log4net:Install-Package log4net,这里使用log4net记录一 ...

  4. winform登陆 记住用户名 代码

    using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; usin ...

  5. ubuntu下 使用AB做压力测试

    1最近刚开始接触apache大数据下数据优化,讲一下apache 下ab压力测试工具. 程序“ab”尚未安装. 您可以使用以下命令安装: apt-get install apache2-utils 以 ...

  6. Python自动化运维之7、生成器、迭代器、列表解析、迭代器表达式

    迭代器和生成器 1.迭代器 迭代器是访问集合元素的一种方式.迭代器对象从集合的第一个元素开始访问,直到所有的元素被访问完结束.迭代器只能往前不会后退,不过这也没什么,因为人们很少在迭代途中往后退.另外 ...

  7. .SO 出现 undefined reference

    查看本SO文件依赖哪些其他的SO文件: readelf -d ldd undefined reference 涉及的问题是  主程序及静态库不能定位地址 undefined symbol 说的问题是动 ...

  8. 1160 蛇形矩阵(codevs)

    http://codevs.cn/problem/1160/ 题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1 ...

  9. 通知栏快捷按钮自定义教程以及快捷面板提取的思路-转自魔趣论坛-lonyii2

    原帖地址: http://bbs.mfunz.com/forum.php?mod=viewthread&tid=235198&extra=page%3D1%26filter%3Dtyp ...

  10. Iterator pattern(c++实现)

    概述: 在现在的电视机中,我们使用[后一个]和[前一个]按钮可以很方便的换台,当按下[后一个]按钮时,将切换到下一个预置的频道.想象一下在陌生的城市中的旅店中看电视.当改变频道时,重要的不是几频道,而 ...