类型为null的参数应该显式地转换为Class <! - ? - > []以调用varargs方法

时间:2015-08-05 06:50:47

标签: java reflection compiler-warnings variadic-functions

我在我的代码中使用了Java反射,我可以看到几个警告通知,如下所示:

源代码:

Class<?> c = Class.forName("complete.package.name.RegressionBuild");
RegressionBuild regression = (RegressionBuild) c.newInstance();
String methodName="debitCardDetails";
Method runtimeMethod = RegressionBuild.class.getDeclaredMethod(methodName, null);

错误:

  

对于从类型调用varargs方法getDeclaredMethod(String,Class ...),类型为null的参数应显式转换为Class []    类。也可以将它转换为类以进行varargs调用

有人可以告诉我这个警告的原因,我该如何解决?

以下行还会抛出以下警告消息:

源代码:

String exeMethod = (String) runtimeMethod.invoke(regression, null);

错误:

  

未使用局部变量exeMethod的值

     

类型为null的参数应显式转换为Object [],以便从类型Method调用varargs方法invoke(Object,Object ...)。   也可以将其转换为Object以进行varargs调用

但是,它返回正确的方法,也在输出控制台中打印空值。

有人可以协助我解决这个问题。

0 个答案:

没有答案