java-获取到方法的中泛型参数的实际类型

问题描述

获取到方法的中泛型参数的实际类型

java的泛型在内存中不是不存在的嘛?为什么通过以下的代码可以获取到方法的中泛型参数的实际类型?
class GenericTest{
public static void applyVectory(Veectory v1){
}
public static void main(String[] args){
Method applyMethod = GenericTest.class.getMethod("applyMethod",Vector.class);
Type[] types = applyMethod.getGenericParameterTypes();
ParameterizedType pType = (ParameterizedType)types[0];
pType.getRawType()//返回原始类型.(vector)
pType.getActualTypeArguments()[0];//返回vector实际的类型参数.(Date) ?
}
}

时间: 2024-11-03 16:06:00

java-获取到方法的中泛型参数的实际类型的相关文章

跳过编译器,获取泛型参数的实际类型

import java.lang.reflect.Method; import java.lang.reflect.ParameterizedType; import java.lang.reflect.Type; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.Vector; public class GenericTest { public static vo

java获取两个数组中不同数据的方法_java

本文实例讲述了java获取两个数组中不同数据的方法.分享给大家供大家参考.具体实现方法如下: public static <T> List<T> compare(T[] t1, T[] t2) { List<T> list1 = Arrays.asList(t1); List<T> list2 = new ArrayList<T>(); for (T t : t2) { if (!list1.contains(t)) { list2.add(t)

对象-java的equals方法重写中的小问题

问题描述 java的equals方法重写中的小问题 public boolean equals(Object otherObject) { // a quick test to see if the objects are identical if (this == otherObject) return true; // must return false if the explicit parameter is null if (otherObject == null) return fal

javaweb-如何获取ie浏览器 network中initiator参数?

问题描述 如何获取ie浏览器 network中initiator参数? 最近遇到一个问题,需要判断上一个请求页面的路径然后再决定跳转的方向.但项目在e浏览器中取不到referer这个参数,现在我想问怎么在ie浏览器中取到network中initiator参数 解决方案 ie浏览器提交参数和其它浏览器的区别VC浏览器相关的学习(四)(在BHO中获取IE版本以及获取窗体句柄) 解决方案二: 你好 楼主解决了吗 我也有这个需求 麻烦共享下谢谢 解决方案三: 看到的话麻烦回复下谢谢了

class-java注解中一个参数是数组类型,为什么我可以指定一个数组元素而非数组为值

问题描述 java注解中一个参数是数组类型,为什么我可以指定一个数组元素而非数组为值 比如说@Target()这个注解,它的value是一个ElementType[]类型,为什么可以这样写: @Target(ElementType.METHOD) 这样类型可以匹配上吗?这不相当于把一个元素赋给了一个数组? 解决方案 对这个相当于申请了一个数组长度为一的数组,然后放置你的这个唯一值: 当多个的时候,就需要用数组符号{}限制了. 可以自定义一个这样的注解,然后练习获取试试

Java 获取元素在数组中的位置

在Java 中如何获取元素在数组中的位置呢? (1) Java代码   /***       * Get location of element in a array       * @param arr : a array       * @param value2 : element of array       * @return       */       public static int indexOfArr(String[] arr,String value2){        

JAVA编程:方法调用传对象参数

下面是2个测试,分别测试可修改的Object和不可修改的 /** * JAVA里面对象参数的陷阱 * * @author 老紫竹的家(laozizhu.com) * */ public class Test { public static void main(String[] args) { TestValue tv = new TestValue(); tv.first(); TestInteger ti = new TestInteger(); ti.first(); } } class T

java获取MYSQL5。0中所有数据库中表的列表

        采用JDBC驱动           工具:JBUILDER2006.MYSQL5.0         我查了好几天才成功的,写出来目的是希望大家不要浪费时间,         代码如下:(运行时肯定要自己改改)          public void getTables() {        try {            int i;            i = 0;            DatabaseMetaData md = this.con.getMetaDa

java中泛型学习1之类型通配符(?)

  实体类 package cn.xy.model; /**  * 生物类  * @author xy  *  */ public class Living {  private String name;  public Living(String name)  {   super();   this.name = name;  }  public String getName()  {   return name;  }  public void setName(String name)  {