#java #intellij_idea
Есть такой код
int i = 5;
Double d = Double.valueOf(i);
(на самом деле код такой
int getInt() {
....
}
Double d = Double.valueOf(getInt());
но не суть)
На строку
Double d = Double.valueOf(i);
IDEA пишет
Warning: Unnecessary boxing.
Но какой же он Unnecessary, если мне нужно примитив int привести к объекту Double?
На строку
Double d = i
я уже получаю ошибку
Incompatible types. Required: java.lang.Double Found: int
Это баг анализатора, или все-таки как-то можно присвоение переписать?
Ответы
Ответ 1
Примитивный тип int нужно сначала привести к примитивному типу double - после этого boxing уже не нужен Double d = (double) i;Ответ 2
У меня IDEA пишет также. Если возможен то используйте такой вариант Integer i = 5; Double d = getInt().doubleValue(); Либо, используйте, как IDEA и предлагает Double d = (double) getInt();
Комментариев нет:
Отправить комментарий