同样的程序在jdk1.4下可以编译通过,但在1.5就不行。 错误信息:
警告: 最后一个参数使用了不准确的变量类型的 varargs 方法的非 varargs 调用;
[javac] 对于 varargs 调用,应使用 java.lang.Object
[javac] 对于非 varargs 调用,应使用 java.lang.Object[],这样也可以抑制此警告
解决办法:
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); // 编译失败
本文探讨了在 JDK1.5 中使用 varargs 方法时遇到的编译错误问题,并提供了两种有效的解决方案。一种是在 getMethod 调用中使用空 Class 数组,另一种是在 invoke 方法调用中使用空 Object 数组。
5414

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



