java type 简书_Java中的Type详解
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详解相关推荐
- java的static类_java中staticclass静态类详解
一般情况下是不可以用static修饰类的.如果一定要用static修饰类的话,通常static修饰的是匿名内部类. 在一个类中创建另外一个类,叫做成员内部类.这个成员内部类可以静态的(利用static ...
- Java 初始化 代码块_Java中初始化块详解及实例代码
Java中初始化块详解 在Java中,有两种初始化块:静态初始化块和非静态初始化块. 静态初始化块:使用static定义,当类装载到系统时执行一次.若在静态初始化块中想初始化变量,那仅能初始化类变量, ...
- 回调java 简书_Java接口回调机制详解【转】
一.回调的含义和用途 1. 什么是回调? 一般来说,模块之间都存在一定的调用关系,从调用方式上看,可以分为三类:同步调用.异步调用和回调.同步调用是一种阻塞式调用,即在函数A的函数体里通过书写函数B的 ...
- 组合模式java怎么获取钥匙_java中组合模式详解和使用方法
组合模式(Composite Pattern),又叫部分整体模式,是用于把一组相似的对象当作一个单一的对象.组合模式依据树形结构来组合对象,用来表示部分以及整体层次.这种类型的设计模式属于结构型模式, ...
- java volatile 基本类型_Java中Volatile关键字详解(转)
一.基本概念 先补充一下概念:Java 内存模型中的可见性.原子性和有序性. 可见性: 可见性是一种复杂的属性,因为可见性中的错误总是会违背我们的直觉.通常,我们无法确保执行读操作的线程能适时地看到其 ...
- java 管理员命令模式_java中命令模式详解和使用方法
命令模式(Command Pattern)是一种数据驱动的设计模式,它属于行为型模式.请求以命令的形式包裹在对象中,并传给调用对象.调用对象寻找可以处理该命令的合适的对象,并把该命令传给相应的对象,该 ...
- java三目运算_Java中的三目运算符 详解
对于有些选择分支结构,可以使用简单的条件运算符来代替. 如: if(a min=a; else min=b; 可以用下面的条件运算符来处理 min=(a 其中"(a 条件运算符由两个符号组成 ...
- java 自定义正则表达式_java中正则表达式实例详解
Java中正则表达式运用实例(参看java中正则表达式运用详解): 测试代码 package test; /** * 在String的matches()方法,split()方法中使用正则表达式. * ...
- java字符编码详解_Java中字符编码格式详解
一.前言 在分析Comparable和Comparator的时候,分析到了String类的compareTo方法,String底层是用char[]数组来存放元素,在比较的时候是比较的两个字符串的字符, ...
最新文章
- Coursera: Internet History, Technology, and Security
- 51 nod 1427 文明 (并查集 + 树的直径)
- 连接远程电脑中的虚拟机---端口映射
- easy html5 - Jquery mobile
- php读取三维数组,php 读取多维数组方法_PHP教程
- Ubuntu 16.04: 开启wifi设置 How To Enable WiFi In Ubuntu 16.04
- 开启和关闭HBase的thrift进程
- fisco bcos Caliper部署 错误总结
- 【django】django面试题总结
- 常用三种正态检验方法
- 达芬奇的十大经典名画解读
- 爱思唯尔(ELSEVIER)期刊LaTeX通用模板下载及使用技巧
- JAVA POI删除word里面的批注comment
- [加载XlUE组件失败,迅雷看看桌面图标已损坏,请重新安装。]问题处理
- 骗子预警,大家注意,飞鸟资源网 www.fn121.c*o*m
- 艾永亮:为什么国内品牌很难在市场中生存下去
- 46、linux开发笔记(主线更新)
- java 不等待 视频转码_java调用ffmpeg,mencoder进行视频转换,读取时长等
- LR的极大似然以及非线性
- 多乐影视电影网站开发——HTML+CSS+JavaScript+PHP