Ответ 1
Хорошо, предупреждение компилятора сообщает вам все, что вам нужно знать. Он не знает, следует ли обрабатывать null
как Class<?>[]
для передачи непосредственно в getMethod
или как одну запись null
в новом массиве Class<?>[]
. Я подозреваю, что вы хотите прежнее поведение, поэтому отпустите null
до Class<?>[]
:
Method method = aClass.getMethod("getInstance", (Class<?>[]) null);
Если вы хотите создать Class<?>[]
с единственным нулевым элементом, вы должны указать его на Class<?>
:
Method method = aClass.getMethod("getInstance", (Class<?>) null);
В качестве альтернативы вы можете полностью удалить аргумент и позволить компилятору создать пустой массив:
Method method = aClass.getMethod("getInstance");