`

泛型模版类的使用

 
阅读更多

泛型模版类

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# 2.0中泛型编程思想分析

    泛型并不是什么新鲜的东西,他在功能上类似于C++的模板,模板多年前就已存在C++上了,并且在C++上有大量成熟应用。  本文讨论泛型使用的一般问题,比如为什么要使用泛型、泛型的编写方法、泛型中数据类型的约束、...

    C++泛型机制—模板

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

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

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

    模板和泛型编程

    模板和泛型编程ppt,学习用。

    C++标准模板库STL和泛型编程简介

    C++标准模板库STL和泛型编程简介,数觉结构和算法的分离

    VC++ 2005:泛型编程

    C++/CLI泛型编程概览 CLI泛型介绍 CLI泛型适用对象 CLI泛型约束 CLI泛型与C++模板 讲座总结 Q&A

    泛型和标准模板类库

    C/C++语言的静态类型系统,在满足效率与安全性的同时,很大程度上也成为阻碍程序员编写通用代码的桎梏。它迫使人们不得不为每一种数据类型编写完全或几乎完全相同...所以C++中引入泛型和STL,这样极大程度上提高效率。

    VB 2010 (30)泛型

    VB 2010 (30)泛型泛型是内置于.NET Framework(最初在.NET Framework 2.0中引入)中的技术。它允许定义代码模板,然后使用这个模板声明...与非类型化的集合或数组相比,使用泛型模板更容易创建强类型化的集合类型。

    介绍 JDK 5中泛型

    到目前为止,Java 类库中泛型支持...就像容器类是 C++ 语言中模板的主要动机一样改善集合类的类型安全是 Java 语言中泛型的主要动机。集合类也充当如何使用泛型的模型,因为它们演示了泛型的几乎所有的标准技巧和方言。

    基于spring MVC 和 MyBatis 泛型的代码生成模板,可以根据自己的需求修改

    基于springMVC 和 MyBatis 泛型的代码生成模板,可以根据自己的需求修改,这里泛型的代码我就不上传了

    VC++ 2005(7):泛型编程

    泛型编程在C++领域中早已深入人心,它赋予了类型参数式多态的能力,这种能力在ISO-C++中以编译时的模板实例化为依托。而CLI借自己强大的元数据系统,选择了运行时的模板实例化来支持泛型编程。C++/CLI在保留ISO-C++...

    C++泛型编程

    编一个模板和容器类,采用的是泛型编程的思想

    generic:基于PHP的泛型(模板类)实现,以实现更严格的类型一致性

    基于PHP的泛型(模板类)实现,以实现更严格的类型一致性。 目录 安装 该软件包将与其他任何PHP软件包一样安装到PHP应用程序中: composer require artisansdk/generic 使用指南 有关示例,请参见tests/Example.php ...

    Java 泛型擦除后的三种补救方法

    Java中的泛型,在运行时刻其具体类型是被擦除的,这样我们就不能用new T(),instanceof等关操作,特别是对泛型类型的类的实例化问题,在此根据《Thinking in Java》中所讲的对类型擦除所带来问题的三种解决方案,比较...

    清华大学C++进阶讲义:第10章 泛型程序设计与C++标准模板库.pdf

    讲义

    单例模板泛型

    如果项目中有很多个单例,那么我们就必须每次都写这些代码,有什么办法可以省去这些不必要的代码呢? 那就是面向对象最重要的思想:继承。用这个单例模板类直接继承即可

    java泛型总结.docx

    泛型类型:定义泛型类型时,使用尖括号,并在尖括号中指定类型参数。例如,List表示一个字符串类型的列表。 泛型方法:定义泛型方法时,在方法名后面使用尖括号,并在尖括号中指定类型参数。例如,public static &lt;T&gt;...

    泛型编程.rar(源码及讨论)

    泛型并不是什么新鲜的东西,他在功能上类似于C++的模板,模板多年前就已存在C++上了,并且在C++上有大量成熟应用。 &lt;br&gt;本文和这个例子讨论泛型使用的一般问题,比如为什么要使用泛型、泛型的编写方法、泛型中...

    泛型编程与STL

    C++泛型编程是C++中核心成分,其强大的标准库内部就是使用泛型与模板。

    .net中的泛型全面解析

    从2.0起我们一直就在谈论泛型,那么什么是泛型,泛型有什么好处,与泛型相关的概念又该怎么使用,比如泛型方法,泛型委托。这一篇我会全面的介绍泛型。那么首先我们必须搞清楚什么是泛型,泛型其实也是一种类型,跟...

Global site tag (gtag.js) - Google Analytics