В данной статье мы рассмотрим улучшения, касающееся try-with-resources, которое было сделаны в Java 9.
Ранее мы имели возможность декларировать переменные, внутри выражения try.
Вот, как это выглядело до Java 9:
package net.proselyte.java9;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
public class TryWithResourcesJava8Demo {
public static void main(String[] args) {
String string = "This is test string";
Reader reader = new StringReader(string);
try (BufferedReader bufferedReader = new BufferedReader(reader)) {
System.out.println(bufferedReader.readLine());
} catch (IOException e) {
e.printStackTrace();
}
}
}
В результате выполнения данной программы, мы получим следующий результат:
This is test string
В Java 9 мы можем применить следующий подход:
package net.proselyte.java9;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.Reader;
import java.io.StringReader;
public class TryWithResourcesJava9Demo {
public static void main(String[] args) {
String string = "This is test string";
Reader reader = new StringReader(string);
BufferedReader bufferedReader = new BufferedReader(reader);
try (bufferedReader){
System.out.println(bufferedReader.readLine());
}catch (IOException e){
e.printStackTrace();
}
}
}
В результате запуска этой программы мы получим следующее:
This is test string
На этом мы заканчиваем обзор try с ресурсами в Java 9.
В следующей статье мы рассмотрим улучшения, касающиеся класса Optional.