Примитивные типы хранят значение напрямую, а ссылочные — ссылку (адрес в памяти) на объект, где хранится значение.
Основные отличия:
null.== сравниваются ссылки, а не их содержимое. Для сравнения содержимого ссылочных типов используется метод equals().Примеры:
| Примитивные типы | Ссылочные типы |
|---|---|
byte, short, int, long | String, ArrayList, CustomObject |
float, double | Пользовательские классы и интерфейсы |
boolean | Массивы |
char | Integer, Double, Boolean, Character (обертки) |
Пример кода:
java