2010-09-15 78 views
0

我正在使用QDox来解析.java文件。该文件包含的方法是这样的:如何获取Vector所包含的类 - Reflection

public int getSomething (Vector<Integer> numbers);

问题是我不知道如何使用它QDox提供了反射来获取Integer类。 任何想法,我怎么能得到它?

+1

你能指出我们在QDox类使用的是?如果您试图解析实际的源代码,您应该能够获得该类型,但尝试在运行时使用Java反射将无法获得您想要的信息。 – linuxuser27 2010-09-15 18:56:37

+0

我使用的是JavaDocBuilder,JavaClass,JavaMethod,JavaParameter和Type。 Type是具有Vector的类。 – Federico 2010-09-15 19:14:48

回答

0

如果这是你的兴趣,你可以从方法获得,如果方法的参数的类型:

Method method = myclass.getMethod("getSomething", Vector.class); 
    Type atypes[] = method.getGenericParameterTypes(); 
    if (atypes[0] instanceof ParameterizedType) { 
     ParameterizedType ptype = (ParameterizedType)atypes[0]; 
     Type aatypes[] = ptype.getActualTypeArguments(); 
     System.out.println(aatypes[0]); 
    } 
+0

但是myclass是什么类? – Federico 2010-09-15 19:59:05

+0

具有方法'public int getSomething(Vector numbers)'的类' – gpeche 2010-09-15 20:03:08

+0

我相信这个答案是针对普通反射(即java.lang.reflect),而不是针对QDox。 – 2010-09-15 20:03:29

相关问题