varargs 方法的非 varargs 调用
2018-11-01 本文已影响0人
恋之无痕
警告: 最后一个参数使用了不准确的变量类型的 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 ); // 编译失败