Мне нужно сделать некоторые рефлексивные вызовы методов в Java. Эти вызовы будут включать методы, содержащие аргументы, которые являются примитивными типами (int, double и т.д.). Способ определения таких типов при поиске метода отражается в int.class, double.class и т.д.
Проблема заключается в том, что я принимаю вход от внешнего источника, который будет динамически определять типы. Поэтому мне также нужно динамически использовать эти описания классов. Представьте в файле с разделителями список имен методов со списками типов параметров:
doSomething int double
doSomethingElse java.lang.String boolean
Если вход был чем-то вроде java.lang.String
, я знаю, что могу использовать Class.forName("java.lang.String")
для экземпляра класса. Есть ли способ использовать этот метод или другое, чтобы вернуть примитивные типы классов?
Edit:
Спасибо всем респондентам. Кажется очевидным, что нет встроенного способа чистого выполнения того, что я хочу, поэтому я соглашусь на повторное использование класса ClassUtils
из фреймворка Spring. Кажется, он содержит замену Class.forName(), которая будет работать с моими требованиями.