Не совсем обычные объекты создаются с использованием нового() по ключевому слову:
Object myObject = new Object();
Integer myInt = new Integer(5);
Вызов нового() выделяет некоторый объем памяти на так называемой динамической памяти, для того, чтобы сохранить вновь определенный экземпляр. Каждый раз, когда вы вызываете свой экземпляр, JVM смотрит на адрес памяти, где он был сохранен.
С другой стороны, примитивы регистрируются в памяти во время компиляции. Давайте предположим, что у вас есть строка:
int i = 5;
Хотя compliling программу, JVM (виртуальная машина Java) создает место для i
переменной, помнит, где это пятно, и везде, где он хочет использовать значение i
его берет его с этого места.Если другой примитив имеет то же значение (например, int y = 5
), он присваивается тому же месту в памяти. Это означает, что примитивы хранятся по его значению.
примитив не является объектом, поэтому вы не можете использовать его в общих целях ... вместо того, чтобы использовать Wrapper примитивных типов. –