Если значение примитива int
автобоксировано в объект Integer
, оно больше не является примитивным. Вы не можете указать из экземпляра Integer
, было ли это int
в какой-то момент.
Я бы предложил передать два массива в метод test
: один с типами и другой со значениями. Он также устранит двусмысленность, если у вас есть конструктор MyClass(Object)
и значение строки передачи (getConstructor
будет искать конструктор String
). Кроме того, вы не можете определить ожидаемый тип параметра, если значение параметра равно null.