#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();
Комментариев нет:
Отправить комментарий