ParameterizedType 参数化类型的使用

package com.keytop.att;

/**

* 实体类

* Created by fengwenhua on 2017/4/25.

*/

public class UserTest {

private String userName;

private String description;

public UserTest(){

this.userName = "Deity";

this.description = "新晋段子手";

System.out.println("大名:"+userName+"&简介:"+description);

}

//Getter & Setter ...

}

package com.keytop.att;

import org.junit.Test;

import java.lang.reflect.ParameterizedType;

import java.lang.reflect.Type;

/**

* 参数化类型使用

* Created by fengwenhua on 2017/4/25.

*/

public class ClazzUtils {

/**超类*/

public class TestSuperClazz{

}

/**子类*/

public class TestClazz extends TestSuperClazz{

}

@SuppressWarnings("unchecked")

public T getGenericInstance(Class clazz){

Type type = ((ParameterizedType)clazz.getGenericSuperclass()).getActualTypeArguments()[0];

try {

T instance = ((Class)type).newInstance();

} catch (InstantiationException | IllegalAccessException e) {

e.printStackTrace();

}

return null;

}

@SuppressWarnings("unchecked")

@Test

public void test() throws IllegalAccessException, InstantiationException {

getGenericInstance(TestClazz.class);

}

}

单元测试执行结果

java type 简书_Java中的Type详解相关推荐

  1. java的static类_java中staticclass静态类详解

    一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...

  2. Java 初始化 代码块_Java中初始化块详解及实例代码

    Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量, ...

  3. 回调java 简书_Java接口回调机制详解【转】

    一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...

  4. 组合模式java怎么获取钥匙_java中组合模式详解和使用方法

    组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...

  5. java volatile 基本类型_Java中Volatile关键字详解(转)

    一.基本概念 先补充一下概念:Java 内存模型中的可见性.原子性和有序性. 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉.通常,我们无法确保执行读操作的线程能适时地看到其 ...

  6. java 管理员命令模式_java中命令模式详解和使用方法

    命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该 ...

  7. java三目运算_Java中的三目运算符 详解

    对于有些选择分支结构,可以使用简单的条件运算符来代替. 如: if(a min=a; else min=b; 可以用下面的条件运算符来处理 min=(a 其中"(a 条件运算符由两个符号组成 ...

  8. java 自定义正则表达式_java中正则表达式实例详解

    Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...

  9. java字符编码详解_Java中字符编码格式详解

    一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符, ...

最新文章

  1. Coursera: Internet History, Technology, and Security
  2. 51 nod 1427 文明 (并查集 + 树的直径)
  3. 连接远程电脑中的虚拟机---端口映射
  4. easy html5 - Jquery mobile
  5. php读取三维数组,php 读取多维数组方法_PHP教程
  6. Ubuntu 16.04: 开启wifi设置 How To Enable WiFi In Ubuntu 16.04
  7. 开启和关闭HBase的thrift进程
  8. fisco bcos Caliper部署 错误总结
  9. 【django】django面试题总结
  10. 常用三种正态检验方法
  11. 达芬奇的十大经典名画解读
  12. 爱思唯尔(ELSEVIER)期刊LaTeX通用模板下载及使用技巧
  13. JAVA POI删除word里面的批注comment
  14. [加载XlUE组件失败,迅雷看看桌面图标已损坏,请重新安装。]问题处理
  15. 骗子预警,大家注意,飞鸟资源网 www.fn121.c*o*m
  16. 艾永亮:为什么国内品牌很难在市场中生存下去
  17. 46、linux开发笔记(主线更新)
  18. java 不等待 视频转码_java调用ffmpeg,mencoder进行视频转换,读取时长等
  19. LR的极大似然以及非线性
  20. 多乐影视电影网站开发——HTML+CSS+JavaScript+PHP

热门文章

  1. VSCode 中使用Git实践,学会了效率翻倍
  2. 如何才能学好javascript
  3. 树莓派的wifi网络
  4. Selenium操作页面元素
  5. 【自然框架】——重开在线演示
  6. 2018-2019-2 20175320实验三《敏捷开发与XP实践》实验报告
  7. linkedhashmap中关于LRU算法的实现
  8. pandas—总结(2) 数据读写 (更新中)
  9. 线程池的使用及ThreadPoolExecutor的分析(一)
  10. hadoop2.4的伪集群的搭建