var
Объявляет локальную переменную, тип которой компилятор выводит из значения.
Доступно с: Java 10
Синтаксис
var name = value;Примеры
Тип берётся из правой части:
void main() {
var count = 10;
var name = "Anna";
var prices = new ArrayList<Double>();
prices.add(9.99);
IO.println(count + " " + name + " " + prices);
}Результат:
10 Anna [9.99]Тип выводится один раз и дальше не меняется:
void main() {
var total = 0;
total += 5;
// total = "five"; // error: incompatible types: String cannot be converted to int
IO.println(total);
}Результат:
5Примечания
var — не динамическая типизация: переменная получает конкретный тип при компиляции. Использовать var можно только для локальных переменных с начальным значением и в циклах for; для полей, параметров и возвращаемого значения метода — нельзя. var x; и var x = null; не компилируются.
var хорош, когда тип и так виден справа (new ArrayList<String>()), и мешает, когда справа вызов метода с неочевидным результатом.
См. также
В учебнике
- Переменные — Объявление переменных в Java: тип и имя, присваивание, var, константы final и правила именования.