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(){}语法使用相关推荐
- Java中final关键字的几种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面大家跟随动力节点java ...
- final关键字_夯实基础:Java中final关键字的几种用法
导语 在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构. 关于static请查 ...
- 面向对象篇(OOP)--05 Java中static关键字的四种用法
在java的关键字中,static和final是两个我们必须掌握的关键字.不同于其他关键字,他们都有多种用法,而且在一定环境下使用,可以提高程序的运行性能,优化程序的结构.下面我们先来了解一下stat ...
- Java中的this关键字(三种用法)
this关键字的三种用法: 通过this关键字可以明确的访问一个类的成员变量,解决成员变量与局部变量名称冲突问题. 实例: public class Student {//定义四个成员变量String ...
- Java中this关键字的几种用法
1. 当成员变量和局部变量重名时,在方法中使用this时,表示的是该方法所在类中的成员变量.(this是当前对象自己) 如:public class Hello { String s = &q ...
- Java中for循环的几种用法
参考一些博客整理的资料笔记,以备后续查看. 目录 1 常用的几种方法 1.1 for(; ; ) 1.2 Collection for( Iterator i=kindsList.iterator() ...
- Java中关于枚举的7种用法
1.定义常量: public enum Color {RED,ORANGE,YELLOW,GREEN,INDIGO,BLUE,PURPLE } 2.用于switch: enum Color {RED, ...
- Java中Array.sort()的几种用法[转]
转自: http://www.cnblogs.com/IT-sky/p/3749859.html?utm_source=tuicool&utm_medium=referral void jav ...
- java里break的使用方法_Java中break的第三种用法说明
在Java中,break语句有三种用法,第一种是用于终止switch语句中的语句序列,第二种是用于退出循环,然而第三种是用作goto语句的"文明"形式! 我们知道,goto语句会破 ...
- java this()函数_java中this关键字的三种用法
this是自身的一个对象,代表对象本身,可以理解为:指向对象本身的一个指针. this的用法在java中大体可以分为3种: 1.普通的直接引用,this相当于是指向当前对象本身. 2.形参与成员名字重 ...
最新文章
- 一起学nRF51xx 11 - ficr
- 【机器学习】关于机器学习模型可解释(XAI),再分享一招!
- VTK:绘图之ChartsOn3DScene
- 设计模式笔记3:设计模式几大原则
- EntityManager的使用
- 基于 Docker 的微服务架构
- android js 代码混淆工具,好用的JS(Javascript)混淆加密工具-HDS JSObfuscator 2.14版
- 基于Linux命令行终端的ftp客户端程序
- html的article标签,介绍一个html5做的网站,以及article标签的用法
- python爬虫学习之使用BeautifulSoup库爬取开奖网站信息-模块化
- cmakelists语法_cmake使用教程(六)-蛋疼的语法
- 海湾汉字编码表全部_汉字编码对照表
- SpringMVC 406状态码
- 9、(九)外汇交易技术术语表
- 笔记本 无线网联网 win10系统 ,台式机木有无线网卡,通过一根网线连接两台电脑,使台式机联网。...
- 固态硬盘安装操作系统
- 2022.1.9 力扣-周赛-统计追加字母可以获得的单词数
- HSQLDB数据库使用详解(入门)及快速使用
- 【TypeError: Descriptors cannot not be created directly. 】解决方法
- 光电耦合器的参数大全