Java9 - try-with-resources增强

Java9 - try-with-resources增强 首页 / Java入门教程 / Java9 - try-with-resources增强

try-with-resources 是 JDK 7 中一个新的异常处理机制,它能够很容易地关闭在 try-catch 语句块中使用的资源。所谓的资源(resource)是指在程序完成后,必须关闭的对象,try-with-resources 语句确保了每个资源在语句结束时关闭。所有实现了 java.lang.AutoCloseable 接口。

try-with-resources 声明在 JDK 9 已得到改进。如果你已经有一个资源是 final 或等效于 final 变量,您可以在 try-with-resources 语句中使用该变量,而无需在 try-with-resources 语句中声明一个新变量。

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,下面的程序将给出相同的输出。

无涯教程网

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("learnfk"));
   } 
   static String readData(String message) throws IOException {
      Reader inputString=new StringReader(message);
      BufferedReader br=new BufferedReader(inputString);
      try (br) {
         return br.readLine();
      }
   }
}

输出

learnfk

祝学习愉快!(内容编辑有误?请选中要编辑内容 -> 右键 -> 修改 -> 提交!)

技术教程推荐

邱岳的产品手记 -〔邱岳〕

Nginx核心知识150讲 -〔陶辉〕

程序员的数学基础课 -〔黄申〕

网络编程实战 -〔盛延敏〕

DDD实战课 -〔欧创新〕

摄影入门课 -〔小麥〕

重学线性代数 -〔朱维刚〕

大厂晋升指南 -〔李运华〕

中间件核心技术与实战 -〔丁威〕

好记忆不如烂笔头。留下您的足迹吧 :)