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