本文实例讲述了Java 8新增的方法参数反射。分享给大家供大家参考,具体如下:
一 点睛
Java 8在java.lang.reflect包下新增了一个Executable抽象基类,该对象代表可执行的类成员,该类派生了Constructor、Method两个子类。
Executable基类提供了大量方法来获取修饰该方法或构造器的注解信息;还提供了isVarArgs()方法用于判断该方法或构造器是否包含数量可变的形参,以及通过getModifiers()方法来获取该方法或构造器的修饰符。除此之外,Executable提供了如下两个方法来获取该方法或参数的形参个数及形参名。
int getParameterCount():获取该构造器或方法的形参个数。
Parameter[] getParameters():获取该构造器或方法的所有形参。
上面第二个方法返回了一个Parameter[]数组,Parameter也是Java 8新增的API,每个Parameter对象代表方法或构造器的一个参数。Parameter也提供了大量方法来获取声明该参数的泛型信息。
二 实战
1 代码import java.lang.reflect.*;
import java.util.*;
class Test
{
public void replace(String str, List list){}
}
public class MethodParameterTest
{
public static void main(String[] args)throws Exception
{
// 获取String