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泛型技术是Java编程语言中的一个重要特性,它在2004年随着Java SE 5.0的发布而引入,极大地增强了代码的类型安全性和可读性。本篇文章将深入探讨Java...理解并熟练掌握Java泛型,是每一个Java开发者必备的技能。
Java泛型是自Java 1.5版本引入的一项重要特性,极大地提高了代码的类型安全性和重用性。本文将深入探讨Java泛型的概念、优点、使用方式及其在实际开发中的应用。 **一、泛型的基本概念** 泛型是Java语言中的一种...
Java泛型是自Java 1.5版本引入的一项重要特性,它允许我们在编程时指定类型参数,从而增强代码的类型安全性和重用性。泛型的主要目标是消除强制类型转换,减少ClassCastException的风险,并提高代码的可读性和可维护...
总的来说,Java泛型提供了编译时的类型检查,降低了类型转换错误的风险,提高了代码的可读性和可维护性。理解并熟练运用泛型是Java开发者必备的技能,不仅限于集合的使用,还包括泛型接口、泛型方法、通配符等高级...
Java集合框架是Java编程语言中处理对象集合的重要工具...理解并熟练使用这些接口和实现类,是任何Java程序员必备的技能。通过泛型、迭代器和各种操作方法,我们可以构建灵活、安全的代码,提高程序的可读性和可维护性。
总之,Java泛型通过引入类型参数,增强了代码的类型安全,简化了类型转换,并提高了代码的重用性。理解和熟练运用泛型是成为专业Java开发者的必备技能。在实际编程中,应充分利用泛型来编写更加健壮和可维护的代码。
总之,理解并熟练使用Java泛型是每个Android开发者必备的技能。通过泛型,我们可以编写出更清晰、更具可维护性的代码,减少类型转换的繁琐,提升代码的类型安全性,从而提高整个应用程序的质量和稳定性。
Java泛型是Java编程语言中的一个关键特性,它允许开发者在编写代码时引入类型参数,以提高代码的灵活性、安全性和可复用性。泛型的主要目标是在编译时进行类型检查,确保代码在运行时不会出现类型转换异常。下面我们...
Java泛型是JDK5.0引入的一项重要特性,它为集合框架和其他容器类提供了类型安全,提高了代码的可读性和可重用性。本文将深入探讨Java泛型的作用及其基本概念。 首先,泛型的基本概念是允许在定义类、接口和方法时...
Java泛型是Java编程语言中的一种重要特性,它在2004年随着Java SE 5.0的发布而引入。泛型的主要目的是提供类型安全,同时减少在编写和使用集合类时的类型转换。在Java中,泛型主要用于集合框架、函数式编程和类型...
Java5.0泛型编程是Java开发中的一个重要里程碑,它引入了一种强大的类型系统机制,大大增强...理解和熟练运用泛型是每个Java开发者必备的技能。通过深入学习和实践,开发者可以编写出更加高效、安全且易于维护的代码。
这是因为数组的类型需要在运行时确定,而泛型只在编译时存在,因此这样的操作是不允许的。 解决这个问题的一个常见方法是使用`List<T>`的接口,例如`List<List<String>> list = new ArrayList<List<String>>();`。...
很实用的泛型讲解,很详细的,泛型学习必备!
在Java编程语言中,泛型(Generic)是一个强大的特性,它允许我们在编译时检查类型安全,并且可以消除...理解并熟练运用泛型是每个Java开发者必备的技能。在实际开发中,应充分利用泛型来设计和实现高效、健壮的代码。
Java的泛型是一种强大的工具,它允许我们在编程时指定容器(如类、接口或方法)可以操作的数据类型。这样做的好处在于,它提高了代码的类型安全性,减少了强制类型转换,并且在编译阶段就能捕获可能的类型错误,而...
Java 1.5 引入了泛型(generics)这一强大的特性,旨在提升类型安全性,减少类型转换的烦恼,并优化代码的可读性。泛型允许我们在编程时指定容器(如列表、队列等)...理解和熟练运用泛型是现代Java开发中的必备技能。
总的来说,Java泛型提供了一种强大的工具,让开发者能够编写更加安全、灵活且可复用的代码。它简化了类型转换,增强了类型检查,并通过类型擦除保持了与现有Java代码的兼容性。理解和熟练运用泛型是每个Java开发者的...
- Hibernate框架:hibernate-entitymanager.jar、hibernate-core.jar等,Hibernate是一个对象关系映射(ORM)工具,它允许开发者以面向对象的方式操作数据库,降低了SQL的使用难度。 3. **J2EE开发常用包**: - ...