java中带参数的try(){}语法含义是什么?

java中带参数的try(){}语法含义是什么?

挺好用的语法,不用写一大堆finally来关闭资源,所有实现Closeable的类声明都可以写在里面,最常见于流操作,socket操作,新版的httpclient也可以;

需要注意的是,try()的括号中可以写多行声明,每个声明的变量类型都必须是Closeable的子类,用分号隔开.楼上说不能关两个流的落伍了

===

补充一下,在没有这个语法之前,流操作一般是这样写的:

InputStream is = null;

OutputStream os = null;

try {

//...

} catch (IOException e) {

//...

}finally{

try {

if(os!=null){

os.close();

}

if(is!=null){

is.close();

}

} catch (IOException e2) {

//...

}

}

而现在你可以这样写:

try(

InputStream is = new FileInputStream("...");

OutputStream os = new FileOutputStream("...");

){

//...

}catch (IOException e) {

//...

}

生活一下就美好了

相关推荐

海贼王路飞打明哥是第几集
365直播是什么

海贼王路飞打明哥是第几集

📅 06-28 👁️ 3960
神剧本!西班牙补时阶段翻身逆袭 小组头名出线
约彩365彩票官方app下载安卓

神剧本!西班牙补时阶段翻身逆袭 小组头名出线

📅 07-11 👁️ 9617
正在阅读:天黑了下面哪个最亮 微信最烧脑大挑战第59关答案天黑了下面哪个最亮 微信最烧脑大挑战第59关答案
ios如何允许应用使用网络连接网络连接数据库
约彩365彩票官方app下载安卓

ios如何允许应用使用网络连接网络连接数据库

📅 06-30 👁️ 2017
醉酒驾判刑多久
365正规网站是多少

醉酒驾判刑多久

📅 07-03 👁️ 6478
不止有Keep!7款热门健身App全面评测!
365直播是什么

不止有Keep!7款热门健身App全面评测!

📅 07-09 👁️ 3248
如何在 iPhone 15 / 15 Plus / 15 Pro Max 上关闭/打开手电筒(5 个简单选项)
excel表格下标5怎么打出来
365正规网站是多少

excel表格下标5怎么打出来

📅 06-30 👁️ 2741
象棋中各棋子走法
约彩365彩票官方app下载安卓

象棋中各棋子走法

📅 07-03 👁️ 3533