泛型实例化

原创 2016年08月29日 11:36:30

泛型实例化 :类型可以通过参数来实现,例如泛型中的T t,但是我想生成T对象,那怎么实现呢?按照以往的经验,我们很容易想到这种方式:

public class Test<T> {
    T t;
    public T create(){
        t = new T();
    }
}

此时,由于T的具体类型我们无法获得,所以new T()是无法通过编译的。换一种思路,我们不妨使用反射机制,通过T的Class对象的newInstance()方法来获取它的实例,而T的Class对象表示为:Class,所以生成T对象的代码如下所示:

public class Test<T> {
    T t;
    public void create(Class<T> clazz){
        try {
            t = clazz.newInstance();
        } catch (InstantiationException e) {
            e.printStackTrace();
        } catch (IllegalAccessException e) {
            e.printStackTrace();
        }
    }
}
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

模板和泛型编程 --实例化-- C++ primer 第十六章(2)

16.1.4. 模板类型形参 类型形参由关键字 class 或 typename 后接说明符构成。在模板形参表中,这两个关键字具有相同的含义,都指出后面所接的名字表示一个类型。模板类型形参可作为类型...

java泛型程序设计——Varargs 警告+不能实例化类型变量

【0】README0.1) 本文描述+源代码均 转自 core java volume 1, 旨在理解 java泛型程序设计 的 Varargs 警告+不能实例化类型变量 的知识;【1】 Varar...

C#之泛型实例化对象的理解

原文地址:http://www.cnblogs.com/yueyue184/p/5032156.html 什么是泛型        我们在编写程序时,经常遇到两个模块的功能非常相似...

C++泛型编程1——函数模板实例化,模板参数,重载及特化

在C++中我们都知道引入了函数重载,那么在实际应用过程中:   如果我们想要实现一个加法函数,我们可以写出很简单的代码:   int ADD(int a,int b) {   return a+b...

【Java基础】类的实例化、static、父类构造函数执行顺序

重温java基础,以免自己以后犯原则性错误,这是最基本,最基础的东西。 先看结论: 一个类的实例化过程: 1,首先会执行类中static代码块(不管代码块是否在类的开头还是末尾处),如...

Spring BeanFactory实例化Bean的过程

Spring BeanFactory实例化Bean的过程     Bean的实例化是Bean生命周期的一个非常重要的环节,一般来说,初始化后,就不再改变了,直到bean被从BeanFactory...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)