原始碼分析-AutoCloseable

lonecloud發表於2018-05-28

AutoCloseable

該介面用於try-with-resources語法糖提供支援,用於自動關閉資源作用

  1. 型別:介面
  2. 方法:close();
  3. 詳解:
  • close():用於自動關閉資源的時候需要進行呼叫該方法,該方法宣告中設定了丟擲Exception異常
    1. 注意事項:
      1. 雖然其丟擲的Exception異常,但是在註釋上說明了最好不要在程式碼中丟擲中斷異常(InterruptedException),也就是說需要對中斷型別的異常進行捕獲
      2. 由於基本上子類實現的close方法最後呼叫的基本上都是本地方法。

例子:

public class AutoCloseableTest {
    @Test
    public void test(){
        try(FileInputStream inputStream=new FileInputStream(new File("test.txt"))){
            //do somethings 
        } catch (IOException e) {
            e.printStackTrace();
        }
        //不需要在使用finally去關閉資源了,方便快捷
    }

}

  

相關文章