如何区分Java中的Varargs v / s Array类型

时间:2018-01-05 03:59:03

标签: java reflection

我正在使用反射为我在一个类下编写的函数创建动态示例。

以下是我的职能:

public void doSomething(int... args)
{
...
}
// Example to generate : doSomething(1,2,3,4,5);

public void doSomething2(int[] argsAsArray)
{
...
}
// Example to generate : doSomething2(new int[]{1,2,3,4,5})

我的问题是,我无法区分变量args v / s 数组类型的参数类型。

有没有一种方法可以确定参数类型是变量args 还是数组

1 个答案:

答案 0 :(得分:2)

for (Method m : YourClass.class.getDeclaredMethods()) {
    System.out.println(m.getName() + "  varargs?  " + m.isVarArgs());
}