Вопросы с тегом «autoboxing»

383
Как конвертировать int [] в список <Integer> в Java?

Как конвертировать int[]в List<Integer>в Java? Конечно, меня интересует любой другой ответ, кроме как делать это в цикле, пункт за элементом. Но если нет другого ответа, я выберу его как лучший, чтобы показать тот факт, что эта функциональность не является частью...

217
Как правильно сравнить два целых числа в Java?

Я знаю, что если вы сравните в штучной упаковке примитив Integer с константой, такой как: Integer a = 4; if (a < 5) a будет автоматически распакован, и сравнение будет работать. Однако что происходит, когда вы сравниваете два прямоугольника Integersи хотите сравнить либо равенство, либо меньше /...

186
Возврат null как int разрешен с тернарным оператором, но не с оператором if

Давайте посмотрим на простой код Java в следующем фрагменте: public class Main { private int temp() { return true ? null : 0; // No compiler error - the compiler allows a return value of null // in a method signature that returns an int. } private int same() { if (true) { return null; // The same...

163
Почему люди все еще используют примитивные типы в Java?

Начиная с Java 5, у нас был бокс / распаковка примитивных типов, чтобы они были intупакованы java.lang.Integer, и так далее, и так далее. В последнее время я вижу много новых Java-проектов (для которых определенно требуется JRE как минимум версии 5, если не 6), которые используют, intа не...

114
Странный целочисленный бокс в Java

Я только что видел код, похожий на этот: public class Scratch { public static void main(String[] args) { Integer a = 1000, b = 1000; System.out.println(a == b); Integer c = 100, d = 100; System.out.println(c == d); } } При запуске этот блок кода распечатает: false true Я понимаю, почему первый...

111
Сравнение длинных значений 127 и 128 в штучной упаковке

Я хочу сравнить значения двух длинных объектов с помощью ifусловий. Когда эти значения меньше 128 , ifусловие работает правильно, но когда они больше или равны 128 , сравнение не выполняется. Пример: Long num1 = 127; Long num2 = 127; if (num1 == num2) { // Works ok } Сравнение приведенного выше...

81
Почему мы используем автобоксирование и распаковку в Java?

Автобоксирование - это автоматическое преобразование, которое компилятор Java выполняет между примитивными типами и соответствующими им классами-оболочками объектов. Например, преобразование int в Integer, double в Double и так далее. Если преобразование идет другим путем, это называется...