在java7之前,對于一些需要使用finally關(guān)閉資源的操作,會顯得很臃腫.
網(wǎng)站制作、成都做網(wǎng)站介紹好的網(wǎng)站是理念、設(shè)計(jì)和技術(shù)的結(jié)合。成都創(chuàng)新互聯(lián)擁有的網(wǎng)站設(shè)計(jì)理念、多方位的設(shè)計(jì)風(fēng)格、經(jīng)驗(yàn)豐富的設(shè)計(jì)團(tuán)隊(duì)。提供PC端+手機(jī)端網(wǎng)站建設(shè),用營銷思維進(jìn)行網(wǎng)站設(shè)計(jì)、采用先進(jìn)技術(shù)開源代碼、注重用戶體驗(yàn)與SEO基礎(chǔ),將技術(shù)與創(chuàng)意整合到網(wǎng)站之中,以契合客戶的方式做到創(chuàng)意性的視覺化效果。try
{
//
}
catch(Exception e)
{
//
}
finally
{
if(xxxx != null)
{
xxxx.close();
}
}
在java7中引入了可以在try中直接聲明需要關(guān)閉的資源的功能,在try后的圓括號直接定義一個(gè)或多個(gè)資源即可.
try(
var xxx = new xxx();
var xxx = new xxx();
)
{
//
}
但是這些類都需要實(shí)現(xiàn)了Closeable或AutoCloseable接口,實(shí)現(xiàn)其中的close().
Closeable接口是AutoCloseable的子接口,其中的close()拋出了IOException異常,實(shí)現(xiàn)接口時(shí)要注意拋出的異常需是IOException異?;騃OException子類異常.
AutoCloseable接口中的close()拋出的異常是Exception,實(shí)現(xiàn)接口時(shí)可以拋出任何類型的異常.
java7幾乎把所有的"資源類"(包括文件IO的各種類,JDBC編程的Connection,Statement等接口)進(jìn)行了改寫,改寫后的資源都實(shí)現(xiàn)了AutoCloseable或Closeable接口.(引自<<瘋狂Java講義>>(第5版) P381)
java9不像java7一樣在try中定義資源,只需要自動關(guān)閉的資源有final修飾即可.也就是說,可以不在try中聲明,在try前聲明且使用final修飾即可.
final var xxx = new xxx();
final var xxx = new xxx();
try(xxx;xxx)
{
//
}
另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。