Java9 Try With Resources改进

Java9 Try With Resources改进

try-with-resources语句是一个带有一个或多个资源声明的try语句。这里的资源是一个对象,一旦不再需要就应该关闭。try-with-resources语句可以确保每个资源在需求完成后关闭。任何实现了java.lang.AutoCloseable或java.io.Closeable接口的对象都可以用作资源。

在Java 9之前,资源需要在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

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程