例如:Vector<Data> v = new Vector<Data>(); 这个里面我们是无法通过变量v而得到Vector中参数的类型,因为Vector<Data>在编译后字节码中去掉了类型,也就是说Vector<Data>和和Vector<T>的字节码是一样的,所以不能取得Vector中的参数类型,那我们可以通过把v作为一个参数传入一个方法中来获得Vector中的参数类型,因为通过反射获得的Method中有能够获得参数化的类型的方法,如下:

public class GenericTest { public static void main(String[] args) throws Exception { Method method = GenericTest.class.getMethod("getGenericType", Vector.class); Type[] type = method.getGenericParameterTypes(); ParameterizedType pType = (ParameterizedType)type[0]; System.out.println(pType.getRawType()); System.out.println(pType.getActualTypeArguments()[0]); } public static void getGenericType(Vector<Data> v){ } }

打印结果:

class java.util.Vector interface javax.xml.crypto.Data

转载于:https://www.cnblogs.com/duancanmeng/archive/2012/04/16/2524613.html

Java中如何获得集合变量的集合中的类型参数相关推荐

  1. java用一个方法对变量初始化_java中怎么给变量初始化?

    展开全部 不同的变量初始化32313133353236313431303231363533e4b893e5b19e31333337613764方法不同. 变量包括:类的属性,或者叫值域 方法里的局部变 ...

  2. c语言中聚合类型的变量,c语言中的数据类型

    更新中....... 在c语言中,仅有4种基本数据类型--整型,浮点型,指针和聚合类型(如数组和结构等).所有其他的类型都是从这4种基本类型派生而来. 1 . 整型 整型家族包括字符,短整型,整型和长 ...

  3. c语言中 定义结构体变量初始化,c++中的结构体:声明 定义 初始化

    什么是结构体? 之前的学习中我们知道了数组是一个容器,而且是存放固定大小数据的容器,而且存放的元素的数据类型必须要一致. 比如数据库中有这样的一条记录学号 性别 年龄 成绩 地址应该怎样存放 结构体: ...

  4. Java类、变量、集合、数据结构基础知识

    1.与类名同名的方法可以是构造方法或其他普通方法 2.final类的方法都不能是abstract的,因为final类不能被继承 3.Java区分大小写,只要不与关键字冲突都是合法的变量名.这里冲突是完 ...

  5. lambda表达式或者匿名函数中为什么要求外部变量为final

    1.参考博客 关于Lambda表达式里面修改外部变量问题 JDK8之前,匿名内部类访问的局部变量为什么必须要用final修饰 2.匿名内部类 在jdk7之前,匿名内部类访问外部类的局部变量时,那么这个 ...

  6. java并发集合有哪些_java中常见并发集合有哪些?详细解析

    关于java中有关集合的知识点,相信大家还是有所了解的.集合中所包含的知识点是非常丰富的,而且可以细分为很多类型.今天就来为大家介绍一下并发集合的有关知识,并且用实际代码为大家展示,一起来看看吧. 首 ...

  7. 5.0 java集合框架中的接口collection属于_JAVA集合框架 - osc_cyo2dovg的个人空间 - OSCHINA - 中文开源技术交流社区...

    一.为什么要使用集合 单个数据,可以用变量保存: 多个数据,可以用数组保存: 但是对于存储多个数据且数量不确定的情况,使用集合: 二.集合和数组的区别 (1)数组: 1.只能保存同一种类型的数据: 2 ...

  8. Java中的Collection集合以及Collection集合实现类实例

    Collection集合 集合概述 集合的体系特点 Collection集合常用API Collection集合的遍历方式 方式一:迭代器 方式二:foreach/增强for循环 方式三:lambda ...

  9. java判断集合为空_Java中判断集合类为空的方法

    *****需要引入Spring的核心Jar包***** 工具类: org.springframework.util.CollectionUtils 方法: public static boolean ...

最新文章

  1. 56.4 AP!超越YOLOv4,更快更强的CenterNet2来了!
  2. matlab新手入门(四)(翻译)
  3. Microsoft Visual Studio 正忙
  4. leetcode 算法解析(一):260. Single Number III(C++版本和自己的注解)
  5. MongoDB 计划从“Data Sprawl”中逃脱
  6. 81. Search in Rotated Sorted Array II
  7. 三星Galaxy 首款运动腕表全新渲染图曝光
  8. javascript encodeURI和encodeURIComponent的比较
  9. Java-创建图片验证码descriptor
  10. Linux用户相关的操作命令
  11. c++ floor 赋值_C++之floor函数
  12. linux 0.11根文件系统,构建一个最小Linux根文件系统
  13. github 安装浏览器导航插件Octotree
  14. 网吧如何控制远程服务器,怎样在网吧控制一台远程的电脑
  15. 组合最优化——期中总结
  16. 45届ICPC昆明站热身赛C-Statues
  17. 送给1985年的朋友 ZT
  18. c++ 中. 和 -,波浪号 ~ 符号怎么用 ————很重要
  19. oracle默认导出dmp路径_Oracle导入导出dmp文件
  20. 根据cron表达式获取最近几次执行的时间

热门文章

  1. 如何让word档在同一页上显示两列或更多列
  2. tp5 修改配置参数 view_replace_str 无效
  3. 文件处理-写模式操作文件
  4. Golang 连接Kafka
  5. ubuntu下 mysql安装以后无法登陆的的解决方法((ERROR 1698 (28000): Access denied for user 'root'@'localhost'))...
  6. Servlet的调试
  7. JavaScript点击事件-一个按钮触发另一个按钮
  8. 在linux上一行代码不用写实现自动采集+hadoop分词
  9. C#3.0学习笔记(8)浅谈接口interface
  10. 家里路由器如何共享同一个ip