Java 9: Verbeterde Try-With-Resources voor schonere code
De try-with-resources-statement is een try-statement met één of meer resources die declaratief worden afgesloten. Een resource is een object dat gesloten moet worden zodra het niet meer nodig is. De statement garandeert dat elke resource wordt afgesloten na afloop. Elk object dat java.lang.AutoCloseable of java.io.Closeable implementeert, kan als resource dienen.
Voor Java 9 moesten resources voor de try of binnen de try gedeclareerd worden. In dit voorbeeld gebruiken we BufferedReader als resource om een string te lezen en daarna te sluiten.
Tester.java (voor Java 9)
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();
}
}
}
Uitvoer
test
Er moest een resource br1 binnen de try gedeclareerd worden.
In Java 9 is dat niet meer nodig; het volgende programma geeft hetzelfde resultaat:
Tester.java (Java 9)
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();
}
}
}
Uitvoer
test
Nu kan de al gedeclareerde variabele br direct in de try-with-resources-header gebruikt worden.
Java
- Java Exception Handling meesteren: Try, Catch, Finally en Resources
- Java String length() Methode: Hoe de grootte van een String op te vragen (Voorbeeld)
- Java String.indexOf() beheersen: Substrings lokaliseren & praktische voorbeelden
- Java String.charAt() begrijpen: Syntaxis, Retourtype, Exceptions en Praktisch Voorbeeld
- Java's String compareTo() Methode beheersen: Syntaxis, Use Cases en Praktische Voorbeelden
- Java String.contains() Methode: Controleren op Substrings – Praktische Voorbeelden
- Java String.endsWith() beheersen: Controleren op String-suffixen met voorbeelden
- Bestanden Lezen in Java met BufferedReader – Een Praktische Gids met Voorbeelden
- Insertion Sort algoritme in Java: Duidelijk voorbeeld & stapsgewijze handleiding
- Selection Sort in Java: Stapsgewijze voorbeeld & complete code
- Java 8 – Essentiële Bronnen voor Diepgang