varargs 方法的非 varargs 调用

警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;

[javac] 对于 varargs 调用,应使用 java.lang.Object

Method method = cls.getMethod(methodName , new Class[ 0 ]); // 编译通过

Method method = cls.getMethod(methodName , null ); // 编译失败

[javac] 对于非 varargs 调用,应使用 java.lang.Object[],这样也可以抑制此警告

method[i].invoke(className, new Object[]{}); // 编译通过

method[i].invoke(className, null ); // 编译失败 。

转载博客

你可能感兴趣的:(varargs 方法的非 varargs 调用)