Java 教程
try-with-resources 是 JDK 7 中一個新的異常處理機(jī)制,它能夠很容易地關(guān)閉在 try-catch 語句塊中使用的資源。所謂的資源(resource)是指在程序完成后,必須關(guān)閉的對象。try-with-resources 語句確保了每個資源在語句結(jié)束時關(guān)閉。所有實現(xiàn)了 java.lang.AutoCloseable 接口(其中,它包括實現(xiàn)了 java.io.Closeable 的所有對象),可以使用作為資源。
try-with-resources 聲明在 JDK 9 已得到改進(jìn)。如果你已經(jīng)有一個資源是 final 或等效于 final 變量,您可以在 try-with-resources 語句中使用該變量,而無需在 try-with-resources 語句中聲明一個新變量。
輸出結(jié)果為:
test
以上實例中我們需要在 try 語句塊中聲明資源 br1,然后才能使用它。
在 Java 9 中,我們不需要聲明資源 br1 就可以使用它,并得到相同的結(jié)果。
執(zhí)行輸出結(jié)果為:
test
在處理必須關(guān)閉的資源時,使用try-with-resources語句替代try-finally語句。 生成的代碼更簡潔,更清晰,并且生成的異常更有用。 try-with-resources語句在編寫必須關(guān)閉資源的代碼時會更容易,也不會出錯,而使用try-finally語句實際上是不可能的。
其他擴(kuò)展