English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
try-with-resources ist JDK 7 eine neue Mechanik für die Ausnahmebehandlung, die es ermöglicht, Ressourcen in der try-catch-Anweisungsblock verwendete Ressourcen. Unter Ressourcen versteht man Objekte, die nach Abschluss des Programms geschlossen werden müssen. try-with-resources-Anweisung stellt sicher, dass jede Ressource am Ende der Anweisung geschlossen wird. Alle Objekte, die das Interface java.lang.AutoCloseable implementieren (wodurch alle Objekte, die java.io.Closeable implementieren, einschließlich sind), können als Ressourcen verwendet werden.
try-with-resources-Anweisung in JDK 9 wenn Sie bereits eine Ressource haben, die final oder äquivalent zu final ist, können Sie sie in der try-with-die Variable in der resources-Anweisung verwenden, ohne sie in der try-with-in der resources-Anweisung eine neue Variable deklarieren.
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class Tester { public static void main(String[] args) throws IOException { System.out.println(readData("test")); } static String readData(String message) throws IOException { Reader inputString = new StringReader(message); BufferedReader br = new BufferedReader(inputString); try (BufferedReader br1 = br) { return br1.readLine(); } } }
Das Ausgaberesultat ist:
test
Im obigen Beispiel müssen wir die Ressource br1dann können wir es verwenden.
in Java 9 dabei müssen wir keine Ressource br1 können Sie es verwenden und das gleiche Ergebnis erhalten.
import java.io.BufferedReader; import java.io.IOException; import java.io.Reader; import java.io.StringReader; public class Tester { public static void main(String[] args) throws IOException { System.out.println(readData("test")); } static String readData(String message) throws IOException { Reader inputString = new StringReader(message); BufferedReader br = new BufferedReader(inputString); try (br) { return br.readLine(); } } }
Die Ausgabe des Ausführungsresultats ist:
test
Verwenden Sie try, um Ressourcen zu verarbeiten, die geschlossen werden müssen-with-resources-Statement anstelle von try-finally-Statement verwendet. Der generierte Code ist kürzer, klarer und die generierten Ausnahmen sind nützlicher. try-with-Das resources-Statement macht es einfacher, den Code zu schreiben, der notwendige Ressourcen schließen muss, und verhindert Fehler, indem es das try-Das finally-Statement ist tatsächlich unmöglich.