JavaRush /Курсы /Java Multithreading /Вопросы с собеседования 9 уровень

Вопросы с собеседования 9 уровень

Java Multithreading
9 уровень , 14 лекция
Открыта

— Привет, Амиго!

Вопросы к собеседованиям
1 Что такое autoboxing?
2 Зачем используется autoboxing?
3 Альтернативы autoboxing?
4 Типы-обертки для примитивных типов mutable или immutable?
5 Как примитивные типы приводятся к непримитивным аналогам?
6 Как непримитивные типы приводятся к примитивным?
7 Как сравниваются примитивные и непримитивные типы?
8 Всегда ли создается новый объект при операции autoboxing?
9 Как работает кэширование при операции autoboxing?
10 Для каких типов и/или значений работает кэширование?
Комментарии (8)
ЧТОБЫ ПОСМОТРЕТЬ ВСЕ КОММЕНТАРИИ ИЛИ ОСТАВИТЬ КОММЕНТАРИЙ,
ПЕРЕЙДИТЕ В ПОЛНУЮ ВЕРСИЮ
Marat Safiianov Уровень 41
14 июля 2025
Что-то тут давно не было комментариев...
Вадим Шепелин Уровень 51
24 июля 2024
Что-то тут давно не было комментариев...
Дмитрий Уровень 41
29 июня 2021
Вопросы к Собеседованию (Ответы) - Часть 1 1. Что такое autoboxing? Автоупаковка - это автоматическое преобразование, которое компилятор Java выполняет между примитивными типами и соответствующими им классами-обертками объектов. Например, преобразование int в Integer, double в Double и т. д. Если преобразование идет другим путем, это называется автораспаковкой. 2. Зачем используется autoboxing? В Java есть как типы, унаследованные от класса Object, так и примитивные типы. Но, как оказалось, такая удобная вещь как коллекции и generic’и могут работать только с типами, унаследованными от Object. Поэтому разработчики Java придумали автоматическую «упаковку». 3. Альтернативы autoboxing? Cтатические заводские методы valueOf. 4. Типы-обертки для примитивных типов mutable или immutable? Immutable 5. Как примитивные типы приводятся к непримитивным аналогам? Преобразование примитивного значения (например, int) в объект соответствующего класса-обертки (Integer) называется автоупаковка. Компилятор Java применяет автоупаковку, когда примитивное значение: ⠀• Передается в качестве параметра методу, который ожидает объект соответствующего класса-обертки. ⠀• Присваивается переменной соответствующего класса-обертки. Автоупаковка преобразует логический тип boolean в Boolean, byte в Byte, char в Character, float в Float, int в Integer, long в Long, short в Short.
Дмитрий Уровень 41
29 июня 2021
Вопросы к Собеседованию (Ответы) - Часть 2 6. Как непримитивные типы приводятся к примитивным? Преобразование объекта типа обертки (Integer) к соответствующему ему примитиву (int) значение называется автораспаковкой. Компилятор Java применяет автораспаковку, когда объект класса-обертки: ⠀• Передается как параметр в метод, который ожидает значение соответствующего типа ⠀⠀примитива. ⠀• Присваивается переменной соответствующего типа примитива. 7. Как сравниваются примитивные и непримитивные типы? Сравнение примитивных типов:

int x = 500;
int y = 500;
x == y; //true
Сравнение непримитивных типов:

Integer x = 500;
Integer y = 500;
x == y; //false
x.equals(y); //true
8. Всегда ли создается новый объект при операции autoboxing? Когда мы присваиваем переменной типа Integer значение типа int, при этом вызывается метод Integer.valueOf. Функция valueOf не всегда создает новый объект типа Integer. Она кэширует значения от -128 до 127. 9. Как работает кэширование при операции autoboxing? ⠀• Если мы пишем new Integer(), то гарантированно создается новый объект. ⠀• Если мы вызываем Integer.valueOf(), явно или при автоупаковке, то этот метод может ⠀⠀вернуть для нас как новый объект, так и отдать объект из кэша, если переданное число лежит ⠀⠀в диапазоне от -128 до 127. 10. Для каких типов и/или значений работает кэширование? ⠀• Integer, Short, Long: (от -127 до 127) ⠀• Character: (от 0 до 127)
Дмитрий Уровень 36
28 октября 2019
максим Уровень 40
17 июня 2020
ну вот не совсем согласен с ответом на вопрос "зачем нужна автоупаковка" - в ответе говорится о дженериках, и ответ больше подходит для вопроса "зачем нужны классы обертки", а автоупаковка просто для удобства работы
Bahis Уровень 41
28 декабря 2018
тишина...
Dzhin Уровень 40
27 ноября 2017
Ответы: http://info.javarush.ru/DefNeo/2016/09/04/%D0%9E%D1%82%D0%B2%D0%B5%D1%82%D1%8B-%D0%BD%D0%B0-%D0%B2%D0%BE%D0%BF%D1%80%D0%BE%D1%81%D1%8B-%D0%BA-%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D1%8E-Level29.html