Что такое ключевое слово `var` в Java и из чего состоит его объявление?

«Что такое ключевое слово `var` в Java и из чего состоит его объявление?» — вопрос из категории Java Core, который задают на 10% собеседований Java Разработчик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

var — это ключевое слово для объявления локальных переменных с выводом типа, добавленное в Java 10. Компилятор сам определяет тип переменной на основе инициализирующего выражения.

Структура объявления var:

var variableName = initializerExpression;
  • var — ключевое слово.
  • variableName — имя переменной.
  • = — оператор присваивания.
  • initializerExpression — выражение, тип которого будет выведен для переменной.

Примеры:

var list = new ArrayList<String>(); // Тип: ArrayList<String>
var message = "Hello, World!";     // Тип: String
var stream = list.stream();         // Тип: Stream<String>
var entry = Map.entry("key", 42);  // Тип: Map.Entry<String, Integer>

Важные ограничения и правила:

  • Только для локальных переменных. Нельзя использовать для полей класса, параметров методов или возвращаемых типов.
  • Обязательная инициализация. var x; — ошибка компиляции.
  • Нельзя инициализировать null без явного указания типа (например, через приведение).
  • Не является ключевым словом в стиле JavaScript. Тип выводится один раз при компиляции и не может быть изменен.
  • Имя var нельзя использовать как идентификатор.

Почему var? Уменьшает шаблонный код, улучшает читаемость при очевидных типах (например, с дженериками).