Используем var в Java 10

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

При этом используется слово var:

Это же Javascript!!@!!@!@@@!!!11111

Нет, это не Javascript. Сами переменные number, myStupidMap и myCollator  будут иметь конкретные типы BigDecimal, HashMap и Collator, точно так же, как если бы мы указали их явно.

Мы, например, не можем в переменную number, объявленную и инициализированную таким образом, записать потом ссылку на экземпляр Long:

Имейте в виду, что при использовании var обязательно должно присутствовать выражение инициализации. Нельзя сначала объявить переменную, а где-то потом присвоить значение:

А теперь, полный срыв шаблонов. Слово var — это не ключевое слово, а зарезервированное имя типа. Так как var  НЕ является зарезервированным словом, то его можно использовать в качестве имени переменной и даже имени метода:

Недостаток var  состоит в том, что в последующем он может добавить путаницу в определении типа переменной, так что не стоит слишком сильно увлекаться его использованием.

Когда стоит использовать var:

  • локальные переменные,
  • переменные, инициализируемые внутри цикла for.

Да, Java уже никогда не будет такой, что была прежде.

Используем var в Java 10: 2 комментария

    1. Это совершенно другое. В твоём случае переменная number будет иметь тип Object, и ты без приведения типа не сможешь обратиться к методам BigDecimal.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *