getClass().getGenericSuperclass()返回表示此 Class 所表示的实体(类、接口、基本类型或 void)的直接超类的 Type
然后将其转换ParameterizedType。。
getActualTypeArguments()返回表示此类型实际类型参数的 Type 对象的数组。
[0]就是这个数组中第一个了。。
简而言之就是获得超类的泛型参数的实际类型。。
比如
超类
public class GenericDAO<T> {
private Class<T> entityClass;
protected GenericDAO() {
Type type = getClass().getGenericSuperclass();
Type trueType = ((ParameterizedType) type).getActualTypeArguments()[0];
this.entityClass = (Class<T>) trueType;
}
}
子类
public class OptionManager extends GenericDAO<MSGC_OPTION> {
}
测试类
public class OracleTest {
public static void main(String[] args) throws Exception {
OptionManager manager = new OptionManager();
}
}
这样在你new OptionManager();以后
超类里的entityClass就是子类那里的public class OptionManager extends GenericDAO<MSGC_OPTION> 里面的MSGC_OPTION所对应的class对象了
分享到:
相关推荐
我个人认为java在互联网的应用为何没有php那么受欢迎,主要是技术人员过分追求复杂的技术架构和逻辑功能去了;搞得草根都不敢去用java了(怕别人说技术不专业);这样的结果是严重阻碍了java在互联网的应用和推广...
我认为这是一个非常棒的开源Java论坛源代码。该源码不仅提供了一种极好的学习机会,而且还可以为使用者提供极佳的交流社区,并且可以进行自定义的修改以适应不同的需求。此外,源码的开源性质也使得它更加具有灵活性...
- **高性能**:虽然 Java 最初因为解释执行而被认为性能较差,但随着 JIT 编译器和垃圾回收机制的改进,其性能得到了显著提升。 - **多线程**:Java 内置对多线程的支持,使并发编程变得简单,适用于需要高并发的...
对经典电费计费系统的现代演绎,一个人...电费计费系统被认为是初学者最好的Java项目创意之一。该应用程序应具有以下功能: 准确计算账单金额。 在当地电力局和用户之间即时共享数据。 非常安全,可以消除篡改的机会。
我个人是比较赞同进行代码审查的,这样可以及时纠正一些错误,而且可以对开发人员的代码规范作出监督。团队的代码审查同时也是一个很好的学习机会,对成员的进步也是很有益的。但是,开发随意,加重的代码审查的工作...
我个人认为java在互联网的应用为何没有php那么受欢迎,主要是技术人员过分追求复杂的技术架构和逻辑功能去了;搞得草根都不敢去用java了(怕别人说技术不专业);这样的结果是严重阻碍了java在互联网的应用和推广。...
这本书的第二版(2008年)更是深入探讨了如何编写高效、可维护且设计优良的Java代码。以下是该书中的部分核心知识点: 1. **类与对象的设计原则**: - 遵循单一职责原则(Single Responsibility Principle),确保...
目的,本人认为,作为Java程序员--不是指只会使用JBuilder(或者Websphare等)工具拖拽的java操作员--我们指至少能使用Eclipse工具书写Swing代码的Java编程员,或者使用ant工具编程的Java程序员,应该熟练掌握该...
确定数据类型,以用度数据符合常规,我个人认为这个系统虽然简单,但是真的非常不错,希望你的需要是为了学习,而不是为了交一份课程设计,如果你把把这个系统弄清楚,我相信你的JAVA基础水平一定更上一层楼。
我个人认为java在互联网的应用为何没有php那么受欢迎,主要是技术人员过分追求复杂的技术架构和逻辑功能去了;搞得草根都不敢去用java了(怕别人说技术不专业);这样的结果是严重阻碍了java在互联网的应用和推广。...
在个人成长方面,他阅读了多本专业书籍,如《UML与ROSE》、《JAVA与模式》、《重构》、《Spring3.x企业级开发实战》、《Maven实战》等,这反映了持续学习和专业技能提升对于Java程序员保持竞争力的关键作用。...
该书籍在Java学习者中享有很高的声誉,被认为是学习Java的经典之作。第四版作为该系列的一部分,很可能包含了许多新的概念和技术,例如Java SE 5和Java SE 6的新特性和改进。 文档的描述中提到,这本指南不是免费的...
根据给定的文件信息,我们将围绕“Java源代码”这一主题进行深入探讨,并结合描述以及部分内容中的主题“Failure Not Necessarily Bad”展开论述。 ### Java源代码简介 Java是一种广泛使用的面向对象编程语言,由...
从提供的部分内容来看,这段代码似乎是用一种类似于JavaScript的语法编写的,其目的是根据不同输入字符(代表不同日期或事件)返回一个字符串,这个字符串中包含了特定格式的神煞信息。虽然这部分内容较为晦涩难懂,...
在Java源代码中,这部分可能涉及到矩阵运算和统计比较。 在实际应用中,这些步骤可能被整合到一个完整的框架中,比如OpenCV库,它为Java提供了丰富的计算机视觉接口。开发者可能使用JavaCV或Java的JNI(Java Native...
这份名为“java学习资料(个人觉得很不错,我的珍藏)”的压缩包显然包含了丰富的Java学习材料,由公司内部整理,被认为对初学者极具价值。标签“java 资料 电子书 好东西”表明其中可能包括了Java教程、电子书和...
【描述】提到这不是个人原创,而是分享者的收集,但他认为这个Java版本的实现非常优秀,推荐大家学习和参考。这暗示了代码可能具有良好的可读性、效率和适用性。通过研究他人的高质量代码,开发者可以提高自己的编程...
【JAVA开发个人简历模板】 这份简历模板展示了求职者在JAVA开发领域的专业知识和实践经验。求职者在两家知名网络技术公司担任过JAVA程序员的角色,积累了丰富的项目经验和技能。 在苏州***网络科技有限公司,求职...