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

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

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

330
Сюрприз производительности с «как» и обнуляемыми типами

Я просто пересматриваю четвертую главу C # in Depth, которая посвящена обнуляемым типам, и добавляю раздел об использовании оператора «as», который позволяет писать: object o = ...; int? x = o as int?; if (x.HasValue) { ... // Use x.Value in here } Я подумал, что это действительно здорово, и что...

325
Зачем нам нужен бокс и распаковка в C #?

Зачем нам нужен бокс и распаковка в C #? Я знаю, что такое бокс и распаковка, но я не могу понять, как это реально использовать. Почему и где я должен это использовать? short s = 25; object objshort = s; //Boxing short anothershort = (short)objshort; //Unboxing...

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а не...

153
Почему массивы Python медленные?

Я ожидал, array.arrayчто будет быстрее, чем списки, так как массивы кажутся распакованными. Однако я получаю следующий результат: In [1]: import array In [2]: L = list(range(100000000)) In [3]: A = array.array('l', range(100000000)) In [4]: %timeit sum(L) 1 loop, best of 3: 667 ms per loop In [5]:...

140
Преобразование массива примитивных длинных длин в список длинных позиций

Это может быть довольно простой вопрос для руководителя службы, но моя первая попытка на удивление полностью не сработала. Я хотел взять массив примитивных длинных значений и превратить его в список, что я попытался сделать вот так: long[] input = someAPI.getSomeLongs(); List<Long>...

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 } Сравнение приведенного выше...

107
Различия в автоматической распаковке между Java 6 и Java 7

Я заметил разницу в поведении автоматической распаковки между Java SE 6 и Java SE 7. Мне интересно, почему это так, потому что я не могу найти никакой документации об изменениях в этом поведении между этими двумя версиями. Вот простой пример: Object[] objs = new Object[2]; objs[0] = new Integer(5);...

85
Бокс в C #

Я пытаюсь собрать все ситуации, в которых происходит бокс на C #: Преобразование типа значения в System.Objectтип: struct S { } object box = new S(); Преобразование типа значения в System.ValueTypeтип: struct S { } System.ValueType box = new S(); Преобразование значения типа перечисления в...

81
Почему сравнение Integer с int может вызвать исключение NullPointerException в Java?

Мне было очень непонятно наблюдать за этой ситуацией: Integer i = null; String str = null; if (i == null) { //Nothing happens ... } if (str == null) { //Nothing happens } if (i == 0) { //NullPointerException ... } if (str == "0") { //Nothing happens ... } Итак, поскольку я думаю, что сначала...

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

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