利用反射获取方法的反回值类型和参数个数
2014-05-01 16:23
316 查看
package com.test;
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import org.junit.Test;
public class Application
{
public void run(String ClassName) throws Exception
{
Class<?> classType = Class.forName(ClassName);
Object object = classType.newInstance();
Method[] methods = classType.getMethods();
for(int i = 0; i< methods.length;i++)
{
if(methods[i].isAnnotationPresent(Test.class))
{
Type type = methods[i].getReturnType();
Type[] param = methods[i].getGenericParameterTypes();
if(type == void.class && param.length == 0)
{
methods[i].invoke(object,new Object[]{});
}
}
}
return;
}
}
package com.test;
import org.junit.Test;
public class MyTest
{
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
System.out.println("zjhans");
Application app = new Application();
app.run("com.test.myTEST");
}
@Test
public void add()
{
System.out.println("This is Test");
}
}
import java.lang.annotation.Annotation;
import java.lang.reflect.Method;
import java.lang.reflect.Type;
import org.junit.Test;
public class Application
{
public void run(String ClassName) throws Exception
{
Class<?> classType = Class.forName(ClassName);
Object object = classType.newInstance();
Method[] methods = classType.getMethods();
for(int i = 0; i< methods.length;i++)
{
if(methods[i].isAnnotationPresent(Test.class))
{
Type type = methods[i].getReturnType();
Type[] param = methods[i].getGenericParameterTypes();
if(type == void.class && param.length == 0)
{
methods[i].invoke(object,new Object[]{});
}
}
}
return;
}
}
package com.test;
import org.junit.Test;
public class MyTest
{
/**
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception
{
System.out.println("zjhans");
Application app = new Application();
app.run("com.test.myTEST");
}
@Test
public void add()
{
System.out.println("This is Test");
}
}
相关文章推荐
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- Java利用反射来获取一个方法的 范型化参数 Vector<Integer>的类型
- java反射获取方法名称,参数类型
- 反射获取一个方法中的参数名(不是类型)
- 利用java反射获取泛型类的类型参数具体类对象
- 利用Javassist获取Java类中的方法参数名、参数类型、方法访问类型
- java再复习——通过反射获取到方法的参数和返回值的泛型类型
- 反射获取方法参数及返回值类型
- 反射获取方法参数与返回值类型
- C# 通过反射获取MVC Controller里的类名,方法名,参数列表,返回值类型,Description描述,自定义Attribute
- 反射机制获取方法的参数类型和返回值类型
- 利用Javassist获取Java类中的方法参数名、参数类型、方法访问类型
- 黑马程序员——通过反射获取方法中泛型参数的指定类型
- 利用反射获取一个类中的所有方法和该方法的参数
- 黑马程序员--Java基础加强--14.利用反射操作泛型III【解析关于泛型类型的细节信息的获取方法】【Method与泛型相关的方法】【个人总结】
- Gson通过借助TypeToken获取泛型参数的类型的方法(转)
- java反射:使用asm 获取方法的参数名
- 【Java-Reflection】反射获取泛型参数类型
- java 利用反射机制,获取实体所有属性和方法,并对属性赋值