Описание тега autoboxing
Boxing is the process of using an object to wrap a primitive value so that it can be used as a reference object; extracting a previously-boxed primitive is called unboxing. Auto(un)boxing is a form of "syntactic sugar" where the compiler automatically performs (un)boxing for you, allowing you to use value and referenced types interchangeably.
2
ответа
Автобокс не работает?
У меня есть следующий код: static boolean nextPerm(int[] A) { int N = A.length; int k = N - 1; int[] S = { }; while (k >= 0) { if (S.length > 0 && containsLarger(S, A[k])) { int v = firstLargest(S, A[k]); //int vIndex = Arrays.asList(S…
09 окт '13 в 07:57
8
ответов
Почему Java Autoboxing не распространяется на вызовы методов для типов Autoboxed?
Я хочу преобразовать примитив в строку, и я попытался: myInt.toString(); Это терпит неудачу с ошибкой: int cannot be dereferenced Теперь я понимаю, что примитивы не являются ссылочными типами (т. Е. Не объектами) и поэтому не могут иметь методы. Тем…
07 авг '08 в 01:05
1
ответ
Автобокс символьного значения и затем возвращение пустого значения
У меня есть этот кусок кода, который генерирует случайные символы (ASCII) public char getRandChar(){ return (char)rand.nextInt(27); } а потом я распечатаю это System.out.println(new Character(getRandChar())); Как, но, видимо, он возвращает пустое зн…
30 сен '12 в 03:03
9
ответов
Как == сравнить местоположение в памяти?
Мне сказали никогда не использовать == для строк, но для всего остального, потому что .equals будет сравнивать значения, а не экземпляры объекта. (В чем я понимаю разницу). Согласно некоторым сайтам, == сравнивает места памяти? Чего я не понимаю, та…
11 ноя '11 в 14:22
3
ответа
Список объектов. Операции с целочисленными записями
Список может содержать как целые, так и строковые значения. В этом случае я должен создать список объектов, верно? List<Object> list = new ArrayList<Object>(); Как выполнять простые арифметические операции с целочисленными записями списк…
18 янв '12 в 12:10
1
ответ
Autobox TypeDefs в Objective-C (LLVM 4+)
У меня есть этот тип Enum с TypeDef: typedef enum { ControlDisplayOptionNone = 0, ControlDisplayOptionOne = 100 } ControlDisplayOption; И я хотел бы иметь возможность поместить их в массив, как это: - (NSArray *)displayOptions { return @[@ControlDis…
15 янв '13 в 17:24
1
ответ
Почему примитивные типы, такие как Int, стираются в Object в Scala?
В Скале { x: Option[Int] => x } .getClass .getMethod("apply", classOf[Option[_]]) .getGenericParameterTypes возвращается Array(scala.Option<java.lang.Object>), Я изначально ожидал увидеть вместо Array(scala.Option<scala.Int>) но я виж…
23 июн '12 в 06:30
3
ответа
Почему int num = Integer.getInteger("123") генерирует исключение NullPointerException?
Следующий код бросает NullPointerException: int num = Integer.getInteger("123"); Мой компилятор вызывает getInteger на нуле, так как это статично? Это не имеет никакого смысла! Что происходит?
26 июн '10 в 09:18
3
ответа
Влияние на производительность автобокса
Обычно компилятор генерирует код для выполнения упаковки и распаковки. Но что делает компилятор, если коробочные значения не нужны? Компилятор (стандарт Oracle) достаточно умен, чтобы его оптимизировать? Взгляните на этот метод: public static void r…
07 авг '10 в 13:53
2
ответа
Полиморфизм, автобокс и неявные преобразования
Считаете ли вы автобокс в Java формой полиморфизма? Иными словами, как вы думаете, автобокс расширяет полиморфные возможности Java? Как насчет неявных преобразований в Scala? Мое мнение таково, что они оба являются примерами полиморфизма. Обе функци…
21 май '10 в 16:17
2
ответа
Нежелательная магия автобокса на номерах
Следующая программа печатает соответственно 'false' и 'true': Number n = true ? new Long(1) : new Double(2.0); System.out.println(n instanceof Long); System.out.println(n instanceof Double); Так что это будет не длинный, а двойной. Тем не менее, он …
08 окт '12 в 20:20
1
ответ
Концепция ArrayBag
У меня возникают проблемы с пониманием части слайда класса, которая говорит: Хранение элементов в ArrayBag: Мы храним элементы в массиве типа Object. public class ArrayBag implements Bag { private Object[] items; private int numItems; .... } Это поз…
18 июл '15 в 19:44
3
ответа
Сравнение целых и целых чисел
Я новичок в java, Я сейчас изучаю не примитивный тип Integer в java, Я знаю, что следующее сравнение недопустимо и выдает ошибку компиляции - String str = "c"; Char chr = 'c'; if(str == chr) return true; Приведенный выше фрагмент кода дает мне ошибк…
22 июл '15 в 19:43
0
ответов
Сильная синергия между автобоксом и варагсом
Как сказано в документации Java, т.е. https://docs.oracle.com/javase/1.5.0/docs/guide/language/varargs.html, существует сильная синергия между автобоксом и varargs, что иллюстрируется в следующей программе используя отражение: // Simple test framewo…
26 мар '15 в 10:09
6
ответов
Преобразование int в строку считается автобоксом?
AFAIK Когда Java автоматически преобразует тип примитива в объект класса-оболочки, чем его вызываемый autoboxing, потому что примитив упакован в класс-оболочку. Так и есть int test = 3; String str = String.valueOf(test); считается автобоксом? Причин…
01 авг '13 в 06:52
6
ответов
Автобокс в Java
Как оценивается следующее выражение? Студенческий класс: public class Student { private Integer id; // few fields here public Integer getId() { return id; } public void setId(Integer id) { this.id=id; } //setters and getters } И в некотором методе: …
13 дек '11 в 11:50
1
ответ
Почему во время автобоксирования происходит ошибка компиляции final long to Byte, но финальное int в Byte нормально?
Там нет ошибки во время автобокс констант с int а также short типы для Byte, но постоянный с long Тип do имеет ошибку. Зачем? final int i = 3; Byte b = i; // no error final short s = 3; Byte b = s; // no error final long l = 3; Byte b = l; // error
13 сен '17 в 20:26
19
ответов
Почему люди все еще используют примитивные типы в Java?
Начиная с Java 5, у нас был бокс / распаковка примитивных типов, так что int завернут, чтобы быть java.lang.Integerи так и так и так далее. В последнее время я вижу много новых Java-проектов (которые определенно требуют JRE по крайней мере версии 5,…
04 мар '11 в 21:16
3
ответа
Результаты сравнения целых чисел различаются в Java
Я начинающий Java-программист и столкнулся с очень странным сценарием, как показано ниже. public static void main(String[] args) { Integer a = 500; Integer b = 500; // Comparing the values. a <= b; // true a >= b; // true a == b; // false // R…
04 мар '14 в 12:58
3
ответа
Что, если (нуль) оператор вернется в Java?
У меня есть method который имеет Boolean parameter, лайк: public void method(Boolean parameter){ ... } Могу ли я просто использовать if(parameter) определить логику? Что, если parameter является null?
23 окт '15 в 06:15