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

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

技术教程推荐

AI技术内参 -〔洪亮劼〕

机器学习40讲 -〔王天一〕

技术管理实战36讲 -〔刘建国〕

Linux性能优化实战 -〔倪朋飞〕

Linux内核技术实战课 -〔邵亚方〕

体验设计案例课 -〔炒炒〕

恋爱必修课 -〔李一帆〕

高并发系统实战课 -〔徐长龙〕

零基础学Python(2023版) -〔尹会生〕

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