Java 9 - リソースの改善を試す
try-with-resources ステートメントは、1 つ以上のリソースが正式に宣言された try ステートメントです。ここで resource は、必要がなくなったら閉じる必要があるオブジェクトです。 try-with-resources ステートメントは、要件が終了した後に各リソースが確実に閉じられるようにします。 java.lang.AutoCloseable または java.io.Closeable インターフェースを実装する任意のオブジェクトをリソースとして使用できます。
Java 9 より前では、以下の例に示すように、try ステートメントの前または try ステートメント内でリソースを宣言する必要がありました。この例では、BufferedReader をリソースとして使用して文字列を読み取り、その後 BufferedReader を閉じます。
Tester.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 (BufferedReader br1 = br) { return br1.readLine(); } } }
出力
test
ここでは、try ステートメント内でリソース br1 を宣言してから使用する必要があります。 Java9 では、br1 を宣言する必要がなくなり、次のプログラムで同じ結果が得られます。
Tester.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(); } } }
出力
test
Java
- Java トライ...キャッチ
- Java の String Length() メソッド:例で見つける方法
- 部分文字列と例を含む Java String indexOf() メソッド
- Java String charAt() メソッドと例
- Java String compareTo() メソッド:例での使用方法
- Java String contains() メソッド |部分文字列を例でチェック
- 例を使用したJava文字列のendsWith()メソッド
- Java BufferedReader:例を使用して Java でファイルを読み取る方法
- プログラム例を使用した Java の挿入ソート アルゴリズム
- 例を使用したJavaプログラムでの選択ソート
- Java 8 - 便利なリソース