Java 9 - Coba Dengan peningkatan Sumber Daya
Pernyataan try-with-resources adalah pernyataan try dengan satu atau lebih sumber daya yang dideklarasikan. Di sini sumber daya adalah objek yang harus ditutup setelah tidak diperlukan lagi. Pernyataan coba-dengan-sumber daya memastikan bahwa setiap sumber daya ditutup setelah persyaratan selesai. Setiap objek yang mengimplementasikan java.lang.AutoCloseable atau java.io.Closeable, antarmuka dapat digunakan sebagai sumber daya.
Sebelum Java 9, resource harus dideklarasikan sebelum try atau di dalam pernyataan try seperti yang ditunjukkan di bawah ini pada contoh yang diberikan. Dalam contoh ini, kita akan menggunakan BufferedReader sebagai sumber daya untuk membaca string dan kemudian BufferedReader akan ditutup.
Penguji.java
Demo Langsung
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();
}
}
}
Keluaran
test
Di sini kita perlu mendeklarasikan sumber daya br1 dalam pernyataan try dan kemudian menggunakannya. Di Java9, kita tidak perlu mendeklarasikan br1 lagi dan program berikut akan memberikan hasil yang sama.
Penguji.java
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();
}
}
}
Keluaran
test