Создание объекта с использованием класса Class в Java

int.class возвращает объект типа класса.

хотя есть метод для вызова конструктора класса, но поскольку int.class представляет примитивный тип данных, конструктор недоступен.

Есть ли способ создать переменную int из объекта int.class ??


person Mahesh Gupta    schedule 09.12.2011    source источник
comment
Отражение может создавать объекты, но не переменные.   -  person Tom Hawtin - tackline    schedule 09.12.2011
comment
@DanielA.White: наш класс Main содержит члены разных классов и множество примитивных типов данных. Код получает входные данные от некоторого внешнего объекта, преобразует их в соответствующий тип данных и инициализирует с ними значение. используя refextion, мы определяем тип члена и продолжая тем же путем, мы приводим к объекту или примитивным данным.   -  person Mahesh Gupta    schedule 09.12.2011
comment
Можете ли вы привести пример, где вам нужно использовать примитив с отражением?   -  person Peter Lawrey    schedule 09.12.2011


Ответы (1)


Вы не можете создать экземпляр примитива. Примитивы не являются объектами по определению. Вы можете создать экземпляр оболочки, например. Integer, конструктор которого принимает int

person Peter Lawrey    schedule 09.12.2011
comment
Итак, если я получу объект int.class, есть ли способ получить соответствующий класс-оболочку из самого int.class? Я не хочу жестко кодировать этот материал ... поэтому я пытаюсь найти, доступен ли какой-либо метод для того же самого ... - person Mahesh Gupta; 09.12.2011
comment
Есть только 7 (или 8, если вы включаете void) обертки, и это не то, что вам нужно делать очень часто, потому что вы не используете примитивы с отражениями. - person Peter Lawrey; 09.12.2011
comment
Я подозреваю, что вам не нужно создавать такое целое число, если вы используете отражение, поскольку оно неявно преобразует примитивы в их оболочки по мере необходимости. - person Peter Lawrey; 09.12.2011