泛型中获取到Class

在公共基础类中:

public class CommonDaoImpl<T> extends HibernateDaoSupport implements ICommonDao<T> {

    //泛型转换
    private Class entity = (Class)GenericSuperClass.getClass(this.getClass());

在公共基础类的方法中:

public List<T> findCollectionByConditionNoPage(String hqlWhere,
            final Object[] params, LinkedHashMap<String, String> orderby) {

        String hql = "from "+entity.getSimpleName()+" o where 1=1 ";

Class.getSimpleName() 是得到类的简写名称。

(Class)GenericSuperClass.getClass(this.getClass()) 是得到父类的类模板实例,即类名。this.getClass 是被子类具体实例化的 T 。这样在泛型中就可以得到 继承这个泛型父类的子类的 Class ,便于公共类中的公共方法的重用。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Spark学习技巧

Java泛型详解——绝对是对泛型方法讲解最详细的,没有之一!

ArrayList可以存放任意类型,例子中添加了一个String类型,添加了一个Integer类型,再使用时都以String的方式使用,因此程序崩溃了。为了解决...

1812
来自专栏黑泽君的专栏

java面试题

当一个对象实例作为一个参数被传递到方法中时,参数的值就是该对象的引用一个副本。指向同一个对象,对象的内容可以在被调用的方法中改变,但对象的引用(不是引用的副本)...

1971
来自专栏小鹏的专栏

用一个脚本学习 python

# -*- coding: utf-8 -*- # Python 2.7 学习参考脚本 # print 打印函数 print "Hello Worl...

2907
来自专栏Python小屋

Python使用正则表达式处理字符串

关于正则表达式基本语法请参考之前发过的文章常用正则表达式锦集与Python中正则表达式的用法,正则表达式扩展语法的高级用法后面会专门整理后再发。 Python标...

3416
来自专栏微信公众号:Java团长

Java泛型详解——绝对是对泛型方法讲解最详细的,没有之一!

ArrayList可以存放任意类型,例子中添加了一个String类型,添加了一个Integer类型,再使用时都以String的方式使用,因此程序崩溃了。为了解决...

1031
来自专栏Android开发指南

5:面向对象总结

36912
来自专栏互联网技术栈

JVM面试考点—— 值==问题(常量池)

java中基本类型的包装类的大部分都实现了常量池技术,即Byte,Short,Integer,Long,Character,Boolean。

973
来自专栏java技术学习之道

最详细的java泛型详解

1845
来自专栏Zephery

重载与重写

目前的问题:父类的功能无法满足子类的需求。 方法重写的前提: 必须要存在继承的关系。 方法的重写: 子父类出了同名的函数,这个我们就称作为方法的重写。 什么是时...

36413
来自专栏从流域到海域

Python list(列表)

Python一共有6种序列的内置类型,list和tuple是其中最常见的。6种序列的都可以进行的操作包括索引、切片,加(实际上是连接),乘(实际上是复制)...

2526

扫码关注云+社区

领取腾讯云代金券