将参数传递给getMethods

时间:2014-04-08 19:18:03

标签: java

我试图使用getMethod()

public Method getMethod(String name, Class<?>... parameterTypes) throws NoSuchMethodException, SecurityException

第二个论点是什么意思? 例如,如果我要设置两个参数,该怎么办?

2 个答案:

答案 0 :(得分:1)

在Java中,您可以通过名称和签名来识别方法参数的顺序,计数和类型。这就是第二个论点的意思。

方法重载意味着您​​至少有两个(或更多)具有相同名称但签名不同的方法。使用Java反射代码,您必须指定参数类型。这是通过varargs-argument完成的,例如:

Method m = getMethod("xyz", Integer.class, String.class);

指的是:

{modifiers} {return type} xyz(Integer arg1, String arg2);

答案 1 :(得分:1)

第二个参数指定变量参数。这意味着您可以提供指定类型的任何参数列表。当您在方法体中访问它时,它只是一个数组。它只是语法糖。

final Method method = clazz.getMethod("methodName", String.class, Integer.class);