Задать вопрос
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 (пишу маппер).
  • Вопрос задан
  • 2294 просмотра
Подписаться 2 Оценить Комментировать
Решения вопроса 1
@bimeg
При явном вызове конструктора случается autounboxing. А в рефлекшоне оно не работает.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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