java 28 - 6 JDK7的新特性
2024-10-18 16:55:19
JDK7的新特性:
- 二进制字面量
- 数字字面量可以出现下划线
- switch 语句可以用字符串
- 泛型简化
- 异常的多个catch合并
- try-with-resources 语句
二进制字面量
JDK7开始,终于可以用二进制来表示整数(byte,short,int和long)。
使用二进制字面量的好处是,可以使代码更容易被理解。语法非常简单,只要在二进制数值前面加 0b或者0B
举例:
int x = ob110110
数字字面量可以出现下划线
为了增强对数值的阅读性,如我们经常把数据用逗号分隔一样。JDK7提供了_对数据分隔。
举例:
i nt x = 100_1000;
注意事项:
- 不能出现在进制标识和数值之间
- 不能出现在数值开头和结尾
- 不能出现在小数点旁边
try-with-resources 语句
格式:
try(必须是java.lang.AutoCloseable的子类对象){…}
好处:
- 资源自动释放,不需要close()了
- 把需要关闭资源的部分都定义在这里就ok了
- 主要是流体系的对象是这个接口的子类(看JDK7的API)
代码举例:
public class Demo {
public static void main(String[] args) {
// 二进制字面量
int x = 0b100101;
System.out.println(x);
// 数字字面量可以出现下划线
int y = 1_1123_1000;
// 不能出现在进制标识和数值之间
int z = 0x111_222;
// 不能出现在数值开头和结尾
int a = 0x11_22;
// 不能出现在小数点旁边
double d = 12.3_4;
// switch 语句可以用字符串。之前用过
// 泛型简化
ArrayList<String> array = new ArrayList<>();
// 异常的多个catch合并
method();
} private static void method() {
// try-with-resources 语句
// try(必须是java.lang.AutoCloseable的子类对象){…} try {
FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");
int ch = 0;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
fw.close();
fr.close();
} catch (IOException e) {
e.printStackTrace();
} // 改进版的代码
try (FileReader fr = new FileReader("a.txt");
FileWriter fw = new FileWriter("b.txt");) {
int ch = 0;
while ((ch = fr.read()) != -1) {
fw.write(ch);
}
} catch (IOException e) {
e.printStackTrace();
}
}
}
最新文章
- git远程库GitHub
- [转]linux shell数据重定向(输入重定向与输出重定向)详细分析
- python基础(六)循环
- Codeforces Round #268 (Div. 2) ABCD
- Start cluster zookeeper in shell script
- 推荐《Linux 多线程服务器端编程》
- Call-time pass-by-reference has been deprecated
- pwntools安装使用方法
- C++ 常量类型 const 详解
- centos7基于samba服务配置实例
- VS2017 启动调试报错无法启动程序 当前状态中非法
- Google Chrome等浏览器不允许关闭点击跟踪??
- 【题解】Luogu P5251 [LnOI2019]第二代图灵机
- Django使用Channels实现WebSocket--下篇
- SpingBoot二——引入MySql数据库
- python3.6执行AES加密及解密方法
- 二进制状态压缩dp(旅行商TSP)POJ3311
- VC孙鑫老师第八课:你能捉到我吗?
- JSOI 2017 Round 1滚粗记
- mysql查询各种类型的前N条记录
热门文章
- URL 路径长度限制(错误:指定的文件或文件夹名称太长)
- 完美解决AutoCAD2012,AutoCAD2013本身电脑里有NET4.0或以上版本却装不上的问题
- .Net关闭数据库连接时判断ConnectionState为Open还是Closed?
- Android读取自定义View属性
- Android Activity生命周期详讲
- 优化MySchool数据库(存储过程)
- sdk的目录结构及其功能
- json对象转为字符串,当做参数传递时加密解密
- Learning The Bash Shell读书笔记(整理)
- SQL Server 2012实施与管理实战指南(笔记)——Ch6连接的建立和问题排查