java编译错误:varargs 方法的非 varargs 调用

转自:http://www.blogjava.net/ideame/archive/2007/03/23/105849.html

警告: 最后一个参数使用了不准确的变量类型的 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 );  //  编译失败 
c.getClient().disconnect(null, new ActionListener(context, Action.DISCONNECT, clientHandle, null));  // 失败
c.getClient().disconnect(null, new ActionListener(context, Action.DISCONNECT, clientHandle, new String())); // 通过
原文地址:https://www.cnblogs.com/duanguyuan/p/4458864.html