getClass 与getSimpleName

时间:2022-12-19 22:38:40
//首先定义一个借口
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&lpar;&rpar;、getCanonicalName&lpar;&rpar;、getSimpleName&lpar;&rpar;异同

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

  6. 随笔:关于Class&period;getSimpleName&lpar;&rpar;

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

  7. java Class&period;getSimpleName&lpar;&rpar; 的用法

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

  8. 关getClass&lpar;&rpar;&period;getClassLoader&lpar;&rpar;

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

  9. super&period;getClass&lpar;&rpar;方法调用

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

随机推荐

  1. Howto&colon; 如何将ArcGIS Server缓存移动到新服务器

     Howto: 如何将ArcGIS Server缓存移动到新服务器 文章编号: 33686 软件: ArcGIS Server 9.2, 9.3, 9.3.1 操作系统: Windows 2000, ...

  2. svn 合并分支 等

    [转载]svn分支(branch)创建.合并(到trunk).冲突解决. Leave a reply 转载自:http://zccst.iteye.com/blog/1430823 一.创建分支 1, ...

  3. 使用nodejs引用socket&period;io做聊天室

    Server: var app = require('http').createServer(handler) , io = require('socket.io').listen(app) , fs ...

  4. Winform——计算器

    namespace 计算器2._0 { public partial class Form1 : Form { public Form1() { InitializeComponent(); } pr ...

  5. JMM内存管理

    原文地址http://www.cnblogs.com/BangQ/p/4045954.html 原本准备把内存模型单独放到某一篇文章的某个章节里面讲解,后来查阅了国外很多文档才发现其实JVM内存模型的 ...

  6. 【MOS】在不同版本和平台之间进行还原或复制 &lpar;文档 ID 1526162&period;1&rpar;--跨版本恢复

    参考链接:http://blog.itpub.net/26736162/viewspace-1549041/

  7. pycharm 的 激活流程

    激活流程 一.通过Activation code 方式激活 注册码获取地址为:http://idea.lanyus.com/ 在idea或者pycharm的Activation code中输入 注册码 ...

  8. 51Nod 1058 N的阶乘的长度

    输入N求N的阶乘的10进制表示的长度.例如6! = 720,长度为3.   Input 输入N(1 <= N <= 10^6) Output 输出N的阶乘的长度 Input示例 6 Out ...

  9. ssh linux免密登录。。。。生产共钥到另一台主机

    一.第一种方式: 1.ssh-keygen -t rsa -t : 加密方式 默认为rsa 可以省略不写 加密方式选 rsa|dsa 2.将 .pub 文件复制到目标机器的 .ssh 目录, 并 ca ...

  10. SpringBoot 配置热部署

    做个记录,以免忘记: 1. 在 pom.xml 文件中的 dependencies 标签以内添加组件 devtools,具体内容如下: <!-- SpringBoot 热部署组件 devtool ...