Как получить преобразование объекта класса примитивного типа в класс его оболочки

#java #reflection

#java #отражение

Вопрос:

Я работаю с объектами чтения и записи отражения. У меня проблема, которую я читаю в примитивных типах; но я хочу указать методу read читать их как их оболочку (поэтому считывайте символ как символ). Кажется, что должен быть простой статический метод, который я могу вызвать, который будет принимать примитивный класс и возвращать его класс-оболочку. так, например, я мог бы предоставить char.class и верните класс объекта Char.

Я знаю, что это достаточно просто жестко запрограммировать, но это выглядит некрасиво; и кажется, что это было бы достаточно распространенным явлением, чтобы стоило Sun, включая статический вспомогательный метод. Я искал и, похоже, не могу его найти, но мне все еще трудно поверить, что этот метод не существует. Может кто-нибудь указать мне имя метода?

Спасибо.

Ответ №1:

В JDK, похоже, ничего нет, но в Guava есть класс Primitives, который позволяет вам писать:

 Primitives.wrap(char.class)
  

чтобы получить Character.class .

Ответ №2:

В инструментах JDK.в jar есть is typeUtils.boxedClass(primitive.type) , который имеет дело с Symbol объектами. Я знаю, что это не то, что вы хотите, но я добавлю это для справки и на случай, если то, что вы ищете, действительно вокруг него.