В этой статье я попытаюсь объяснить новую функцию Java 10 вывод типа локальной переменной с использованием зарезервированного имени типа var.
Java быстро меняется, и с новым циклом выпуска в 6 месяцев мы получаем новые функции, которые можно попробовать с каждым выпуском. В Java 10 была добавлена новая функция Вывода типа локальной переменной. В основном это было направлено на сокращение шаблонного кода и улучшение читаемости при объявлении локальных переменных с помощью инициализаторов.
Программы должны быть написаны для чтения людьми и только случайно для выполнения машинами~ Гарольд Абельсон
Давайте разберемся в этом на примере. Следующий код написан без использования вывода типа локальной переменной.
После рефакторинга в соответствии с выводом типа локальной переменной Java 10.
В приведенном выше рефакторированном коде компилятор может сам определить объявленный тип, посмотрев на объявление RHS. Это лишь некоторые из примеров, которые помогут вам понять эту функцию и то, как мы можем использовать вывод типа локальной переменной.
Теперь давайте разберемся, где можно использовать вывод типа локальной переменной, а где его нельзя.
Где это может быть использованный
- Инициализаторы локальных переменных
- Индексы в расширенном цикле for
- Местные жители объявили в традиционном для цикла
- Переменные ресурсов инструкции try-with-resources
- Формальные параметры неявно типизированных лямбда-выражений. (Поддержка добавлена в Java 11)
В следующем фрагменте кода показаны некоторые допустимые примеры.
Там, где этого быть не может использованный
- Поля
- Параметры метода
- Типы возвращаемых методов
- Объявления локальных переменных без какой-либо инициализации
- Нельзя использовать значение null для инициализации
Я попытался объяснить в приведенном ниже фрагменте кода, какая ошибка компилятора возникнет, если она используется не поддерживаемым способом.
В чем выгода?
Если вы спросите меня лично, я думаю, что разработчики должны использовать его разумно. Понятно, что всякий раз, когда появляется функция, возникает волнение, и вы определенно хотите попробовать ее. Но вы должны понимать, что мы, как разработчики, чаще читаем код, чем пишем его.
Поскольку это связано с удобочитаемостью, то некоторым людям это понравится, а некоторые возненавидят. Поэтому, если во время проверки кода кто-то говорит, что он не может получить объявленный тип var, это означает, что другим это не очень понятно, поэтому, возможно, возврат к старомодному способу, когда мы объявляем типы явно, не так уж и плох в конце концов. Опять же, в некоторых ситуациях объявленный тип совершенно очевиден, тогда вы можете пропустить явно объявленный тип и использовать var.
Вывод
В этой статье мы рассмотрели, что такое новая функция вывода типа локальной переменной Java 10, с некоторыми примерами, где ее можно использовать и где она не поддерживается. Вы можете дополнительно прочитать эти Часто задаваемые вопросы , подготовленные командой OpenJDK, об определении типа локальной переменной.
Поддержи меня
Если вам нравится то, что вы только что прочитали, то вы можете купить мне кофе
Дальнейшее Чтение
Вы можете продолжить чтение некоторых моих предыдущих статей
Оригинал: “https://dev.to/yrashish/declare-var-not-war-1ofi”