博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
43_通过反射获得泛型的实际类型参数
阅读量:5037 次
发布时间:2019-06-12

本文共 1303 字,大约阅读时间需要 4 分钟。

框架经常干的事,

根据方法签名得知数据的类型,然后转换成相应的对象,填充进去。

 

package com.itcast.day2;import java.lang.reflect.Method;import java.lang.reflect.ParameterizedType;import java.lang.reflect.Type;import java.util.ArrayList;import java.util.Collection;import java.util.Date;import java.util.Vector;import com.itcast.day1.ReflectPoint;public class GenericExc {    public static void main(String[] args) throws Exception{        Method applyMethod=GenericExc.class.getMethod("applyVector", Vector.class);        //Type 是 Java 编程语言中所有类型的公共高级接口。它们包括原始类型、参数化类型、数组类型、类型变量和基本类型。        Type[] types=applyMethod.getGenericParameterTypes();                ParameterizedType pType= (ParameterizedType)types[0];//ParameterizedType是Type的子接口        System.out.println(pType.getRawType());//得到原始类型        System.out.println(pType.getActualTypeArguments()[0]);//得到实际类型                        //applyVector(Vector v)时, java.lang.Class
//applyVector(Vector
v) sun.reflect.generics.reflectiveObjects.ParameterizedTypeImpl System.out.println(types[0].getClass()); //jdk1.8以后有了简便的方法直接得到了 java.util.Vector
System.out.println(types[0].getTypeName()); } public void applyVector(Vector
v){ }}

转载于:https://www.cnblogs.com/qq-757617012/p/4271840.html

你可能感兴趣的文章
OGRE 源码编译方法
查看>>
上周热点回顾(10.20-10.26)
查看>>
C#正则表达式引发的CPU跑高问题以及解决方法
查看>>
云计算之路-阿里云上:“黑色30秒”走了,“黑色1秒”来了,真相也许大白了...
查看>>
APScheduler调度器
查看>>
设计模式——原型模式
查看>>
【jQuery UI 1.8 The User Interface Library for jQuery】.学习笔记.1.CSS框架和其他功能
查看>>
如何一个pdf文件拆分为若干个pdf文件
查看>>
web.xml中listener、 filter、servlet 加载顺序及其详解
查看>>
前端chrome浏览器调试总结
查看>>
获取手机验证码修改
查看>>
数据库连接
查看>>
python中数据的变量和字符串的常用使用方法
查看>>
等价类划分进阶篇
查看>>
delphi.指针.PChar
查看>>
Objective - C基础: 第四天 - 10.SEL类型的基本认识
查看>>
java 字符串转json,json转对象等等...
查看>>
极客前端部分题目收集【索引】
查看>>
第四天 selenium的安装及使用
查看>>
关于js的设计模式(简单工厂模式,构造函数模式,原型模式,混合模式,动态模式)...
查看>>