Добавить в корзинуПозвонить
Найти в Дзене
DEBAGanov

Java 318. В чем разница между авто-расширением, авто-кастом и авто-боксом?

Авто-расширение, авто-кастом и авто-бокс - это три разных процесса преобразования типов данных в Java. Авто-расширение (Widening) - это автоматическое преобразование значения одного примитивного типа данных в другой примитивный тип с большим диапазоном значений. Например, int может быть автоматически расширен до типа long. int i = 10;
long l = i; // Авто-расширение int до long Здесь мы создали переменную типа int и затем присвоили ее переменной типа long. Компилятор автоматически расширил значение типа int до соответствующего значения типа long.
Авто-каст (Upcasting) - это автоматическое преобразование объекта класса-наследника к его классу-предку. Например, Dog может быть автоматически приведен к типу Animal.
Animal animal = new Dog(); Здесь мы создали объект класса Dog, который затем автоматически был приведен к типу Animal. Это возможно потому, что Dog является подклассом класса Animal. Авто-боксинг (Autoboxing) - это автоматическое преобразование значения примитивного типа

Авто-расширение, авто-кастом и авто-бокс - это три разных процесса преобразования типов данных в Java.

Авто-расширение (Widening) - это автоматическое преобразование значения одного примитивного типа данных в другой примитивный тип с большим диапазоном значений. Например, int может быть автоматически расширен до типа long.

int i = 10;
long l = i; // Авто-расширение int до long

Здесь мы создали переменную типа int и затем присвоили ее переменной типа long. Компилятор автоматически расширил значение типа int до соответствующего значения типа long.

Авто-каст (Upcasting) - это автоматическое преобразование объекта класса-наследника к его классу-предку. Например, Dog может быть автоматически приведен к типу Animal.


Animal animal = new Dog();

Здесь мы создали объект класса Dog, который затем автоматически был приведен к типу Animal. Это возможно потому, что Dog является подклассом класса Animal.

Авто-боксинг (Autoboxing) - это автоматическое преобразование значения примитивного типа данных в соответствующий объект класса-оболочки. Например, int может быть автоматически преобразован в объект класса Integer.

int i = 10;
Integer integer = i; // Авто-боксинг int в Integer

Здесь мы создали переменную типа int и затем присвоили ее переменной типа Integer. Компилятор автоматически преобразует значение типа int в соответствующий объект класса Integer.

Таким образом, авто-расширение, авто-апкаст и авто-бокс - это три разных процесса преобразования типов данных в Java, которые позволяют использовать типы данных взаимозаменяемо и упрощают работу с наследованием и классами-оболочками.

1606 вопрос-ответ по Java: https://github.com/DEBAGanov/interview_questions

Tелеграмм канал: https://t.me/DEBAGanov

Мое резюме: https://github.com/DEBAGanov