Java-примитивы не являются «легкими объектами». Это примитивы. Они не могут быть объектами в двух очень важных направлениях: они не могут попасть в объекты Collection
, и у них нет методов.
Они также не попадают в кучу, за исключением полей реального объекта Java. Вы не можете сделать new int
. Заметим также, что при объявлении локальной переменной, имеющей примитивный тип, переменная возникает. Когда вы объявляете локальную переменную типа объекта, все, что вы получаете, является ссылкой на объект, но оно установлено на null
, и объект объявленного типа не выделяется простым объявлением переменной.
Обратите внимание, что autoboxing немного стирает различие, но различие, безусловно, существует.
Примитивы не являются объектами, даже на уровне JVM. –