Class_getClass()中三种获取类名称的区别
来源:互联网 发布:2016安卓翻墙软件 编辑:程序博客网 时间:2024/06/03 22:06
举例来讲getClass( )和getSimpleName( )的区别。
1. 接口
//定义一个接口package com.test;public interface Fruit{}
2. 实现类
//接口Fruit的一个实现类pack com.test;public class Apple implements Fruit{}
3. 基本测试类
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[]{}; //com.test.Apple[] System.out.println(arrApple.getClass().getCanonicalName()); System.out.println(arrApple.getClass().getSimpleName());//Apple[] System.out.println(arrApple.getClass().getName());//[Lcom.test.Apple; //private final 类型 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); //java.util.ArrayList System.out.println(appleList.getClass().getCanonicalName()); System.out.println(appleList.getClass().getSimpleName());//ArrayList System.out.println(appleList.getClass().getName());//java.util.ArrayList }}
4. 在HQL中实例应用
public <T> List<T> getRecords(Class<T> c, Data startData, Data endData){ StringBuilder hql = new StringBuilder("selevt t from "); hql.append(c.getCanonicalName()); hql.append("t where t.startTime>=:startDataTime and t.startTime<:endTime "); Query query = sessionFactory.getCurrentSession().createQuery(hql.toString); query.setParameter("startTime",startData); query.setParameter("endTimer",endData); return query.list();}
5. 总结
注意:Class类是获取类的类模板的实例对象,通过反射的机制获取。根据API中的定义,Class.getSimpleName( )方法是获取源代码中给出的”底层类”的简称。而Class.getName( )是以String的形式,返回Class对象的”实体”名称。
阅读全文
0 0
- Class_getClass()中三种获取类名称的区别
- java通过实体类名称获取对应的数据表名称
- 利用反射获取类的属性名称
- java类中获取属性的名称
- java类中获取属性的名称 .
- Eclipse快速获取类的限定名称
- Eclipse快速获取当前类的名称
- 获取枚举的名称
- 获取无线的名称
- 获取线程的名称
- 获取线程的名称
- 获取计算机名称的函数
- 获取文件对象的名称
- 获取本地计算机的名称
- 获取星期几的名称
- 获取js的函数名称
- 获取当前图纸的名称
- 获取当前数据库的名称
- 11.I/O管理
- kafka深度解析(2)
- Angular 基础部分 1.3 TypeScript简介
- JavaScript高级程序设计读书笔记2-第一章至第三章部分笔记
- 51nod 1024 矩阵中不重复的元素
- Class_getClass()中三种获取类名称的区别
- 【PAT】【Advanced Level】1055. The World's Richest (25)
- 概念的理解 —— 电学
- C. Ray Tracing
- 使用spring-websocket包搭建websocket服务
- Linux命令总结
- 素数的判断
- 想要入行做Java开发就从学习这些基础知识开始
- LNMP环境搭建