今天研究tomcat8的代碼,發現try居然可以用括號,頓時覺得自己已經落後幾萬步了,百度了一下,發現這是Java7的新功能。
趕快來寫個例子試試看:
以前寫代碼,總是要在finally裏面把資源關閉,現在省事多了。try()裏面的資源會自動關閉,只要該資源實現了AutoCloseable接口。調試了一下運行步驟:
1、初始化資源,出現異常,執行步驟4、5,正常,執行2、3、5。
2、打印“Do something.”
3、close資源
4、執行catch塊。
5、調用finally
資源變量在try塊裏面不能被賦值,所以不用擔心被設爲空的情況,在finally裏面不可見。
參考:http://www.oschina.net/question/12_10706