Бесплатный курс по java. Зарегистрируйтесь для отслеживания прогресса →

Java: Явная типизация

До сих пор при определении переменных мы использовали ключевое слово var, что может удивить тех, кто имеет какой-то опыт на Java. Обычно определение переменных показывают так:

int x = 3;
String greeting = "Hello Hexlet!";

// Error: incompatible types: java.lang.String cannot be converted to int
int ops = "test";

Пришло время раскрыть карты! Java статически типизированный язык, в таких языках тип переменной фиксируется при ее объявлении. В большинстве языков для этого перед именем переменной указывается ее тип, в примере выше это число (int) и строка (String). Раньше на Java создавали переменные только так, до тех пор пока не появился var.

var – специальное ключевое слово, которое включает механизм вывода типов. Вывод типов автоматически определяет тип присваиваемого значения и связывает его с переменной. И правда, в примерах выше очевидно, где какой тип, зачем его явно прописывать?

Вывод типов в Java появился в 2018 году, но существуют языки, в которых вывод типов существует не один десяток лет. Первый язык с выводом типов называется ML и появился он аж в 1973 году. С тех пор вывод типов был добавлен в уйму языков среди которых Ocaml, Haskell, C#, F#, Kotlin, Scala и множество других.

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

Задание

Создайте строку One more time с явным указанием типа и выведите ее на экран


Советы


Нашли ошибку? Есть что добавить? Пулреквесты приветствуются https://github.com/hexlet-basics
Если вы столкнулись с трудностями и не знаете, что делать, задайте вопрос в нашем большом и дружном сообществе