Как в Java Object хранит переменные любого типа? т.е. я могу сказать, что
Object ob1 = 1;
Object ob2 = 'x';
В одном случае объекту присваиваем целочисленный тип в другом символ и т.д. А как это храниться в объекте? Насколько я знаю Object
это обычный класс, т.е. у него есть методы, и возможно переменные? Но что вообще происходит, когда я говорю ob1 = 1
? Как мы объекту присваиваем примитивный тип? По идее запускается не явное преобразование вроде ob1 = (Object)1
, но опять же таки что оно делает?
Если мы конвертируем примитивы, то там все понятно. Если мы конвертируем один объект в другой, тоже понятно. Но как из примитива мы что то конвертируем в объект?
Ну и к слову, что происходит, когда используются Integer
или String
? И почему Object
, который является родителем для Integer и String может содержать и числа и строки, а сами Integer
и String
не могут, хотя должны по факту расширять функционал Object
, а не урезать его.
Integer temp = new Integer(1);
Object ob1 = temp;
Автоупаковка
Это автоматическая инкапсуляция примитивного типа в эквивалентную ему класс-обёртку всякий раз, когда требуется объект данного типа. Это одно из существенных изменений, внесенных в JDK 5.
Autoboxing происходит:
Читать далее: https://habr.com/ru/post/329498/
Айфон мало держит заряд, разбираемся с проблемой вместе с AppLab
Как можно считать размер тегов из ID3v2 заголовка с помощью Java?
Я хочу при вызове конструктора задать размер массива, находящегося в теле классаДля этого я пытаюсь использовать указатель p, который бы забирал...
Появилось желание обернуть в RAII классы ряд объектов из WinAPI (хендлы, сертификаты и тд
У меня будет простое банковское приложениеИ я решил сделать такой интерфейс: