Java 9: улучшенный try-with-resources для чистого кода
try-with-resources гарантирует закрытие ресурсов, реализующих AutoCloseable или Closeable.
До Java 9 ресурс нужно было объявлять внутри try(...) или перед ним:
Reader inputString = new StringReader(message);
BufferedReader br = new BufferedReader(inputString);
try (BufferedReader br1 = br) { // нужно создавать новую переменную
return br1.readLine();
}
Java 9: использование effectively final переменных
Теперь можно напрямую использовать уже объявленную effectively final переменную в скобках try:
Reader inputString = new StringReader(message);
BufferedReader br = new BufferedReader(inputString);
try (br) { // br не переприсваивается -> effectively final
return br.readLine();
}
Это убирает лишнее заведение переменной-обёртки (br1) и делает код чище. Оба варианта компилируются в одинаковый байт-код с гарантированным закрытием.
java
- Обработка исключений в Java: try-catch-finally и try-with-resources
- Метод String.length() в Java: как получить длину строки (пример)
- Освоение String.indexOf() в Java: поиск подстрок и практические примеры
- Понимание String.charAt() в Java: синтаксис, возвращаемый тип, исключения и пример
- Освоение String.compareTo() в Java: синтаксис, сценарии использования и примеры
- Метод String.contains() в Java: как проверить наличие подстроки — примеры
- Освоение String.endsWith() в Java: проверка суффиксов строки с примерами
- Чтение файлов в Java с BufferedReader — Практическое руководство с примерами
- Алгоритм сортировки вставками в Java: понятный пример и пошаговое руководство
- Сортировка выбором в Java: пошаговый пример и полный код