Публикации по теме 'autoboxing'


Java: понимание примитивных типов и объектов-оболочек
Что такое примитивный тип и объект-оболочка в Java? Как компилятор обрабатывает преобразование между ними? Когда следует использовать примитивный тип или объект-оболочку? Примитивные типы Java определяет восемь примитивных типов данных : byte, short, int, long, float, double, boolean и char. Все другие переменные в java являются ссылочными типами на объекты. Примитивные типы в Java называются литералами . Литерал - это представление исходного кода фиксированного значения в..

Странный автобокс в Java
Проблема. В чем проблема в указанной выше программе? В приведенной выше задаче первое утверждение печатает true, а второе — false. Когда a1,a2 содержат одно и то же значение, а b1,b2 содержат одно и то же значение, тогда почему только a1==a2 истинно, а b1==b2 ложно; Давайте разберемся, почему Java показывает такое странное поведение. Во-первых, давайте разберемся, что такое автобокс. Автобокс Всякий раз, когда мы присваиваем примитивное значение int ссылочному типу..

Вопросы по теме 'autoboxing'

Почему автоупаковка Java не распространяется на вызовы методов автоматически упаковываемых типов?
Я хочу преобразовать примитив в строку, и я пробовал: myInt.toString(); Это не удается с ошибкой: int cannot be dereferenced Теперь я понимаю, что примитивы не являются ссылочными типами (т. е. не являются объектами) и поэтому не...
6852 просмотров
schedule 27.06.2023

Полиморфизм, автоупаковка и неявные преобразования
Считаете ли вы автоупаковку в Java формой полиморфизма? Иными словами, думаете ли вы, что автоупаковка расширяет полиморфные возможности Java? Как насчет неявных преобразований в Scala? Я считаю, что они оба являются примерами полиморфизма....
684 просмотров

Почему int num = Integer.getInteger (123) выдает исключение NullPointerException?
Следующий код выдает NullPointerException : int num = Integer.getInteger("123"); Вызывает ли мой компилятор getInteger с нулевым значением, поскольку он статичен? В этом нет никакого смысла! Что происходит?
59423 просмотров

Это общий автобокс?
Присвоение значений без использования обычных обозначений типа «this. ‹Double› getAnything (int flag)» private <T> T getAnything(int flag) { Object o = null; if (flag==0) o=new String("NewString"); else if (flag==1)...
704 просмотров
schedule 30.01.2023

Что лучше: позволить Java делать автобоксинг или использовать valueOf()
Мне просто интересно, есть ли разница в том, что java autobox говорит целое число: Integer myInteger = 3; // This will call Integer.valueOf() или иметь свой код как Integer myInteger = Integer.valueOf(3); Есть ли какая-то...
6435 просмотров
schedule 06.02.2023

Странное поведение с Object.intValue()
Я борюсь с проблемой, которую я не могу понять, почему она не работает. Как передать переменную через double obj и преобразовать в int ? Почему это не работает в верхнем фрагменте кода, но работает в нижнем фрагменте кода под строкой?...
7165 просмотров
schedule 03.08.2022

Является ли Boolean.TRUE, а не true оптимизацией автобокса?
Я видел следующий код и задавался вопросом о намерениях кодера. Связано ли это с производительностью автобокса? map.put("doesntMatter", Boolean.TRUE); Он мог бы сделать: map.put("doesntMatter", true); Есть ли польза от первого?
2178 просмотров
schedule 23.06.2022

Java: распаковка значений, хранящихся в объекте, в неизвестный тип
Я строю что-то вроде графа потока данных с узлами и соединениями, которые передают данные между ними. Базовым классом в данном случае является ValueTarget<T> , у которого есть предыдущая и следующая цель для передачи данных туда и обратно....
962 просмотров
schedule 02.11.2022

Результаты сравнения целых чисел различаются в Java
Я начинающий Java-программист и столкнулся с очень странным сценарием, как показано ниже. public static void main(String[] args) { Integer a = 500; Integer b = 500; // Comparing the values. a <= b; // true a >= b; //...
124 просмотров
schedule 25.11.2022

Java позволяет назначать байт для java.lang.Short, но не для java.lang.Integer
final byte b = 12; Short s = b; Integer i = b; Программа компилируется нормально для Short, но компиляция для Integer завершается с ошибкой с сообщением "несовместимые типы". Мне трудно понять это поведение. Я не мог найти ничего для...
719 просмотров
schedule 23.04.2022

java: Понимание метода Arrays.asList(Tarray) для примитивных типов
Я написал следующий код и был удивлен, увидев результат: Integer a = 211; int b = 211; int[] array = {210,211,212}; System.out.println(Arrays.asList(array).contains(a)); System.out.println(Arrays.asList(array).contains(b));...
1165 просмотров
schedule 01.05.2024

Распаковка целого числа [] в AsyncTask
Я пытаюсь заполнить несколько TextView данными из AWS с помощью AsyncTask. Чтобы загрузить данные из AWS, я должен отправить значение ключа диапазона, которое является int. AsyncTask позволит вам отправлять только целые числа в качестве параметров....
98 просмотров

При использовании == для примитива и упакованного значения выполняется автоупаковка или распаковка
Компилируется следующий код (с Java 8): Integer i1 = 1000; int i2 = 1000; boolean compared = (i1 == i2); Но что он делает? Распаковать i1 : boolean compared = (i1.intvalue() == i2); или поле i2 : boolean compared = (i1 ==...
10831 просмотров
schedule 13.12.2022

JAVA: использование сравнения двух автоматически упакованных значений дает мне противоречивые результаты [дубликаты]
Чтобы поиграть с автобоксингом и лучше понять его, я разработал этот фрагмент кода на JAVA: public class Autoboxing { public static void cmp(Integer a, Integer b) { if (a < b) System.out.printf("%d < %d\n", a, b); else if (a == b)...
27 просмотров
schedule 18.10.2022

Как я могу обнаружить/избежать автоупаковки в Java?
Я работаю над программой, которая постоянно работает с гигабайтами данных, в основном с примитивами и строками. Мне нужно избегать преобразования примитивов в объекты с помощью автоупаковки, поскольку это увеличивает размер кучи и время сборки...
1168 просмотров

Автобокс не работает должным образом
Я пытаюсь реализовать автобокс, но он показывает ошибку: Невозможно преобразовать из int в integer. package JavaTraining; public class Wrap { public static void main(String ar[]) { Integer a=100; String...
216 просмотров
schedule 29.09.2022

постоянное выражение, необходимое для изменения поведения Java для int и Integer
Для небольшого кода, желающего сэкономить некоторые проблемы с боксом / распаковкой, введенные, потому что мне также нужно использовать константу int в качестве целого числа (требуемый вызовом метода Generics), я пошел от этого упрощенного примера...
305 просмотров
schedule 26.07.2022