`

泛型模版类的使用

 
阅读更多

泛型模版类

public class DaoBase<T> {
     //add,update,delete  method
}

 

public class DaoBase<T> {
     protected List<T> executeTrans(String sql) {
     }
}

 

 

public class BrokeDAOImpl extends DaoBase<Broke> implements BrokeDAO

 

 如何在DaoBase中获得泛型<T>的T对象

/**
	 * 取得子类中定义泛型的具体类型
	 * @return
	 */
	private Class<T> getDetailClass() {
		Class<T> en;
		Class c = getClass();
		ParameterizedType ptype = null;
		do { // 遍历所有超类,直到找泛型定义
			try {
				ptype = (ParameterizedType) c.getGenericSuperclass();
			} catch (Exception e) {
			}
			c = c.getSuperclass();
		} while (ptype == null && c != null);
		if (ptype == null) {
			System.out.println("子类中没有定义泛型的具体类型");
		}
		en = (Class<T>) ptype.getActualTypeArguments()[0];
		// System.out.println(en.getSimpleName());
		return en;
	}

 

 

分享到:
评论

相关推荐

    c#使用 和 继承 泛型类

    泛型类是一种模板或蓝图,它定义了参数化类型,这些类型在类实例化时可以被具体的类型替换。在C#中,我们使用尖括号`&lt;&gt;`来声明泛型类,并在其中放置一个或多个类型参数。例如,下面是一个简单的泛型类`...

    c# 泛型保存类结构,支持递归

    在C#编程中,泛型是一种强大的特性,它允许我们创建可重用的代码模板,这些模板可以在多种数据类型上工作。"c# 泛型保存类结构,支持递归"这一主题涉及到如何利用泛型来序列化和反序列化包含嵌套类的对象到XML文档中...

    泛型方法的使用.rar

    泛型是C#编程语言中的一个强大特性,它允许开发者创建可重用的代码模板,这些模板可以在多种数据类型上工作,而无需每次都进行显式的类型转换。泛型方法是泛型的一种应用形式,它提高了代码的灵活性、类型安全性和...

    TypeScript泛型类 - 把类作为参数类型的泛型类.zip

    在这个“TypeScript泛型类 - 把类作为参数类型的泛型类”示例中,我们将深入探讨如何利用泛型在TypeScript中创建灵活的、可复用的类模板。 泛型是TypeScript中的一个核心概念,它允许我们在编写代码时定义和重用...

    C++程序设计与实践:11-模板和泛型编程.ppt

    List类模板可以使用不同的类型参数,例如整型、浮点型、类等。 在 C++ 中,还有容器类和迭代器的概念。容器类是一类用于存储对象的机制,都是用模板实现的。而迭代器是一种类,用于封装迭代操作,使其与类型无关。...

    TypeScript中的泛型 泛型变量 泛型类.zip

    在TypeScript中,泛型是一种强大的工具,它允许我们在编写代码时定义可重用的数据类型模板,从而提高代码的灵活性和可复用性。泛型是TypeScript的一大特色,它在许多面向对象的设计模式和数据结构中发挥着关键作用。...

    java 1.5泛型详解

    泛型是Java语言中的一种参数化类型,它允许在定义类、接口和方法时使用类型参数,从而实现数据类型的模板化。通过泛型,我们可以创建可重复使用的组件,这些组件能在处理不同数据类型时保持一致的行为,同时确保编译...

    java Spring mvc 新增和修改的泛型帮助类,用同一接口修改相同实体类的属性

    首先,泛型是Java语言的一个重要特性,它允许在定义类、接口和方法时使用类型参数,从而创建可以重复使用的代码模板。在Spring MVC的业务逻辑层,我们可以通过泛型来创建一个通用的服务接口,例如: ```java public...

    UML类图中的泛型与模板类表示

    在UML类图中表示泛型和模板类是描述系统静态结构的重要部分。通过使用尖括号和类型参数,我们可以清晰地展示这些类的泛型性质和类型约束。这种表示方法不仅有助于理解系统的结构,还有助于维护和扩展系统。通过遵循...

    泛型集合泛型集合泛型集合

    泛型的概念源自英文"Generic",直译为“通用”,在C#中,它使得开发者能够在不指定具体类型的情况下编写类、接口、方法等,待实际使用时再指定具体的类型。这种设计大大增强了类型安全性,避免了不必要的类型转换和...

    C++泛型机制—模板

    泛型的基本概念 函数模板和类模板的实现 C++标准模板库

    VC++ 2005:泛型编程

    在C++/CLI中声明泛型类或方法时,使用`generic &lt;typename T&gt;`关键字,其中`T`是类型参数。例如,可以创建一个泛型栈`Stack`,如下所示: ```cpp generic ref class Stack { public: void Push(ItemType item) {…}...

    VC++ 泛型编程

    类模板是创建泛型类的方式,如STL中的`vector`、`list`、`map`等容器就是类模板的例子。类模板定义了一个类的骨架,其中的数据成员和成员函数可以使用模板参数。例如,创建一个泛型堆栈: ```cpp template class ...

    细细品味C#(泛型专题)

    - **泛型实例化**:当使用泛型类或方法时,需要指定具体的类型参数来实例化泛型。 - **3.2.2 获取泛型类型和使用相应的泛型版本替换 ArrayList** - **类型获取**:使用 `typeof(T)` 来获取泛型类型的信息。 - *...

    C#之泛型详解.docx

    泛型是C#编程语言中的一个重要特性,它允许开发者创建可重用的代码模板,这些模板可以在多种数据类型上工作,从而提高了代码的灵活性、效率和安全性。泛型的引入解决了在处理不同类型数据时需要重复编写类似代码的...

    Java泛型应用实例

    在实际开发中,泛型可以应用于集合框架、函数式编程、模板设计模式等多个场景。例如,Java 8引入的流(Stream)API大量使用了泛型,使我们能够进行更高效、更简洁的集合操作。 配合博主的博客文章,你可以更深入地...

    C# 之泛型详解

    泛型是C#编程语言中的一个重要特性,它允许开发者创建可重用的代码模板,这些模板可以在多种数据类型上工作,而无需重复编写相同逻辑。泛型的主要目标是提高代码的效率、安全性和复用性。 在传统的C#编程中,如果...

    Java1.5泛型指南中文版

    此外,还可以创建一个非泛型类`NonGenericContainer`来实现同样的接口,但不使用泛型。 ```java public interface Container&lt;T&gt; { void add(T element); } public class GenericContainer&lt;T&gt; implements Container...

Global site tag (gtag.js) - Google Analytics