中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

java7與java9中的try-finally關閉資源

發布時間:2020-07-11 18:57:53 來源:網絡 閱讀:217 作者:2578612215 欄目:編程語言

1.java7中的try

在java7之前,對于一些需要使用finally關閉資源的操作,會顯得很臃腫.

try
{
    //
}
catch(Exception e)
{
    //
}
finally
{
    if(xxxx != null)
    {
        xxxx.close();
    }
}

在java7中引入了可以在try中直接聲明需要關閉的資源的功能,在try后的圓括號直接定義一個或多個資源即可.

try(
    var xxx = new xxx();
    var xxx = new xxx();
)
{
    //
}

但是這些類都需要實現了Closeable或AutoCloseable接口,實現其中的close().

2.Closeable接口

Closeable接口是AutoCloseable的子接口,其中的close()拋出了IOException異常,實現接口時要注意拋出的異常需是IOException異常或IOException子類異常.

3.AutoCloseable接口

AutoCloseable接口中的close()拋出的異常是Exception,實現接口時可以拋出任何類型的異常.

java7幾乎把所有的"資源類"(包括文件IO的各種類,JDBC編程的Connection,Statement等接口)進行了改寫,改寫后的資源都實現了AutoCloseable或Closeable接口.(引自<<瘋狂Java講義>>(第5版) P381)

4.java9中的try

java9不像java7一樣在try中定義資源,只需要自動關閉的資源有final修飾即可.也就是說,可以不在try中聲明,在try前聲明且使用final修飾即可.

final var xxx = new xxx();
final var xxx = new xxx();
try(xxx;xxx)
{
    //
}
向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

朔州市| 喜德县| 巴彦淖尔市| 仲巴县| 房山区| 称多县| 高平市| 中西区| 鹤山市| 临清市| 肇源县| 紫云| 灵山县| 自治县| 图木舒克市| 景德镇市| 广饶县| 德安县| 大宁县| 平武县| 榆社县| 黄平县| 山阳县| 托克托县| 万源市| 宜良县| 梓潼县| 高雄市| 张掖市| 伊宁市| 涿州市| 赤峰市| 霍林郭勒市| 朝阳县| 陇西县| 宜昌市| 临清市| 集安市| 靖远县| 六安市| 平山县|