java中try-catch另外一种用法:try(){}语法使用
生活随笔
收集整理的這篇文章主要介紹了
java中try-catch另外一种用法:try(){}语法使用
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
今天讀代碼發現一個try-catch與我們平時寫的方式不太一樣,如下:
try (ZipFile apkFile = new ZipFile(apk)) {... } catch (Exception e) {e.printStackTrace(); }那么這種try(){}語法的意義是什么呢?
首先小括號中的代碼會在最前執行,這樣與放到大括號中有什么區別?
簡單來說小括號中創建的對象會在try塊退出時自動close,比如上面的ZipFile,必須手動關閉否則導致泄漏
這就需要寫一個final語塊,即:
try {ZipFile apkFile = new ZipFile(apk)... } catch (Exception e) {e.printStackTrace(); } final{apkFile.close(); }但是如果使用try(){}形式的話就沒必要寫final語塊了。
所以這也決定了在小括號中創建的對象必須是Closeable類型,比如ZipFile,InputStream等等,
只有實現了這個接口才有close函數
關注公眾號:BennuCTech,獲取更多干貨
總結
以上是生活随笔為你收集整理的java中try-catch另外一种用法:try(){}语法使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 攻防:如何防止动态hook绕过jni签名
- 下一篇: 实现一个悬浮在软键盘上的输入栏