Задать вопрос
CTAKAH4uK
@CTAKAH4uK

Long или long в конструкторе BigDecimal?

Работаю с java.lang.reflect, в рантайме требуется создать объект BigDecimal,

BigDecimal.class.getConstructor(long.class);//работает
BigDecimal.class.getConstructor(Long.class);// - не работает

С параметром long.class - все работает без проблем, но при попытке инициализации с Long.class, вываливается
java.lang.NoSuchMethodException: java.math.BigDecimal.<init>(java.lang.Long)

При этом конструкции вида :
BigDecimal num = new BigDecimal((Long));
BigDecimal num = new BigDecimal((long));

Не выбрасывают исключений.

В какую сторону копать : в сторону приведения Long.class к long.class(если ли способ сконвертировать?), или к конструктору?
ЗЫ : Все типы динамические и заранее не известны, в случае с long, всегда будет Long (пишу маппер).
  • Вопрос задан
  • 2296 просмотров
Подписаться 2 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Java-разработчик с нуля
    12 месяцев
    Далее
  • Skillfactory
    Профессия Java-разработчик
    14 месяцев
    Далее
  • Академия Eduson
    Java-разработчик
    8 месяцев
    Далее
Решения вопроса 1
@bimeg
При явном вызове конструктора случается autounboxing. А в рефлекшоне оно не работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы