我有以下两段代码:
public class C {
public void method1(String[] args) {
}
public void method2(String... args) {
}
}
然后我使用反射获得上述方法的方法实例。
Method m1 = nil;
Method m2 = nil;
Class c = Class.forName("C");
for (Method m : c.getMethods()) {
if (m.getName().equals("method1")) m1 = m;
if (m.getName().equals("method2")) m2 = m;
}
m1.getParameters() 和 m2.getParameters() 返回等于类实例的列表。m1 的参数和 m2 的参数都表示为数组。但实际上它们并不相同。编译器不允许
m1("a", "b");
问题是:
是否有任何标志指定参数是可变参数还是常规数组?