差異處

這裏顯示兩個版本的差異處。

連向這個比對檢視

Both sides previous revision 前次修改
下次修改
前次修改
java:effective_java:creating_and_destroying_objects:prefer_try-with-resources_to_try-finally [2019/07/28 22:20]
tony
java:effective_java:creating_and_destroying_objects:prefer_try-with-resources_to_try-finally [2023/06/25 09:48] (目前版本)
行 26: 行 26:
     }     }
 </​code>​ </​code>​
-這個item要強調的是,使用try-with-resources會讓你的程式碼更精簡:​+這個item要強調的是,在Java7之後,使用try-with-resources會讓你的程式碼更精簡:​
 <code java> <code java>
         try( InputStream is = new FileInputStream(mConfigFilePath) ){         try( InputStream is = new FileInputStream(mConfigFilePath) ){
行 34: 行 34:
         }         }
 </​code>​ </​code>​
- +針對使用的說明,我之前已有[[java:​basic:​exception:​try-with-resource|文章]]做分享。這種寫法除了讓你程式碼更精簡外,以上述例子來說,如果load與close都發生例外,是可以透過Exception的getSuppressed去取得這兩個Exception的callstack。\\ 
- +\\ 
- +這種寫法也可以應用在stream的close,甚至可以做自己的AutoClose的Lock物件,避免忘記呼叫unlock的情況。
 ===== Note ===== ===== Note =====
 Effective Java第三版Item 9。 Effective Java第三版Item 9。