错误信息:
警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
[javac] 对于 varargs 调用,应使用 java.lang.Object
[javac] 对于非 varargs 调用,应使用 java.lang.Object[],这样也可以抑制此警告
程序是一样的,在jdk1.4下可以编译通过,但在1.5就不行。上网查了一下,解决办法:
Method method = cls.getMethod("hashCode", new Class[0]); // 编译通过
Method method = cls.getMethod("hashCode", null); // 编译失败
allMethod[i].invoke(dbInstance, new Object[]{}); // 编译通过
allMethod[i].invoke(dbInstance, null); // 编译失败
![]()
本文讨论了在 Java 中使用 varargs 方法时遇到的一个警告问题,即使用了不准确的变量类型进行非 varargs 调用。文中提供了两种解决方法:一是通过指定空的 Class 数组作为参数类型;二是传递空的对象数组。
1万+

被折叠的 条评论
为什么被折叠?



