今天研究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