好吧,编译器警告会告诉您所有您需要了解的内容。它不知道是将null
a作为Class<?>[]
直接传递给getmethod
,还是作为null
新Class<?>[]
数组中的单个条目来对待。我怀疑您想要以前的行为,因此将转换null
为Class<?>[]
:
Method method = aClass.getmethod("getInstance", (Class<?>[]) null);
如果您希望它创建一个Class<?>[]
具有单个null元素的对象,则可以将其强制转换为Class<?>
:
Method method = aClass.getmethod("getInstance", (Class<?>) null);
Method method = aClass.getmethod("getInstance");