(13)Java笔记之JDK7特性简述
来源:互联网 发布:广州新梦想网络骗局 编辑:程序博客网 时间:2024/05/19 19:14
1、增加了对二进制整数的支持,二进制的整数以0b或者0B开头,定义一个8位的二进制整数,该数值默认占32位,因此是一个整数。32位的二进制整数的最高位是符号位。
2、数值中使用下划线分隔,程序员可以在数值中使用下划线,不管是整型数值还是浮点型数值,都可以自由地使用下划线,通过使用下划线分隔可以更直观地分辨数值常量中到底包含多少位。
3、Java7的switch分支语句,switch语句后面的控制表达式的数据类型只能是byte、short、char、int和枚举类型,不能是boolean类型,Java7新增了java.lang.String类型,不能使StringBuffer或者StringBuilder类型。
4、Java7增强了包装类的功能:Java7为所有的包装类都提供了一个静态方法的compare(xxx val1,xxx val2),这样就能通过包装类提供的这个方法比较两个基本类型值的大小,包括比较两个boolean类型值(true>false),如:
System.out.println(Boolean.compare(true,false));//输出1
System.out.println(Boolean.compare(true,true));//输出0
System.out.println(Boolean.compare(false,true));//输出-1
,除此之外,Java7还为Character包装类增加了大量的工具方法来对一个字符进行判断,参考API。
5、Java7新增Objects类,这个工具类提供的方法大多是“空指针”安全的,你不能明确地判断一个引用变量是否为null,如果贸然地调用该变量的toString()方法,则会引发NullPointException异常,但是使用Objects类提供的toString()方法就不会引发空指针异常,当o为null时,程序返回一个“null”字符串。
6、Java7的TreadLocalRandom,它是Random的增强版,在并发访问的环境下,使用它来代替Random可以减少多线程竞争,最终保证系统具有较好的性能。
7、Java7泛型的菱形语法:Java允许在构造器后不需要带完整的泛型信息,只需要给出一对尖括号(<>)即可,Java可以推断尖括号里应该是什么泛型信息,如:
List<String> list=new ArrayList<>();
但是如果程序显式指定了泛型构造器中声明的类型形参的实际类型,则不可以使用“菱形”语法。
8、Java7之前,每个catch块只能捕获一种类型的异常,但从Java7开始,一个catch块可捕获多种类型的异常。
使用一个catch块捕获多种类型的异常需注意:
①捕获多种类型的异常时,多种异常类型之间用竖线(|)隔开
②捕获多种类型的异常时,异常变量有隐式的final修饰,因此程序不能对异常变量重新赋值。
9、Java7自动关闭资源的try语句:允许在try关键字后紧跟一对圆括号,圆括号可以声明一个或多个资源,此处的资源是指那些必须在程序结束时显示关闭的资源(如数据库连接、网络连接等),try语句在该语句结束时自动关闭这些资源。
为保证try语句能够正常关闭资源,这些资源实现类必须实现AutoCloseable或Closeable接口,实现这两个接口就必须实现close()方法。
可以同时没有catch块,也没有final块。
等等...请查看API或相关资料
2、数值中使用下划线分隔,程序员可以在数值中使用下划线,不管是整型数值还是浮点型数值,都可以自由地使用下划线,通过使用下划线分隔可以更直观地分辨数值常量中到底包含多少位。
3、Java7的switch分支语句,switch语句后面的控制表达式的数据类型只能是byte、short、char、int和枚举类型,不能是boolean类型,Java7新增了java.lang.String类型,不能使StringBuffer或者StringBuilder类型。
4、Java7增强了包装类的功能:Java7为所有的包装类都提供了一个静态方法的compare(xxx val1,xxx val2),这样就能通过包装类提供的这个方法比较两个基本类型值的大小,包括比较两个boolean类型值(true>false),如:
System.out.println(Boolean.compare(true,false));//输出1
System.out.println(Boolean.compare(true,true));//输出0
System.out.println(Boolean.compare(false,true));//输出-1
,除此之外,Java7还为Character包装类增加了大量的工具方法来对一个字符进行判断,参考API。
5、Java7新增Objects类,这个工具类提供的方法大多是“空指针”安全的,你不能明确地判断一个引用变量是否为null,如果贸然地调用该变量的toString()方法,则会引发NullPointException异常,但是使用Objects类提供的toString()方法就不会引发空指针异常,当o为null时,程序返回一个“null”字符串。
6、Java7的TreadLocalRandom,它是Random的增强版,在并发访问的环境下,使用它来代替Random可以减少多线程竞争,最终保证系统具有较好的性能。
7、Java7泛型的菱形语法:Java允许在构造器后不需要带完整的泛型信息,只需要给出一对尖括号(<>)即可,Java可以推断尖括号里应该是什么泛型信息,如:
List<String> list=new ArrayList<>();
但是如果程序显式指定了泛型构造器中声明的类型形参的实际类型,则不可以使用“菱形”语法。
8、Java7之前,每个catch块只能捕获一种类型的异常,但从Java7开始,一个catch块可捕获多种类型的异常。
使用一个catch块捕获多种类型的异常需注意:
①捕获多种类型的异常时,多种异常类型之间用竖线(|)隔开
②捕获多种类型的异常时,异常变量有隐式的final修饰,因此程序不能对异常变量重新赋值。
9、Java7自动关闭资源的try语句:允许在try关键字后紧跟一对圆括号,圆括号可以声明一个或多个资源,此处的资源是指那些必须在程序结束时显示关闭的资源(如数据库连接、网络连接等),try语句在该语句结束时自动关闭这些资源。
为保证try语句能够正常关闭资源,这些资源实现类必须实现AutoCloseable或Closeable接口,实现这两个接口就必须实现close()方法。
可以同时没有catch块,也没有final块。
等等...请查看API或相关资料
0 0
- (13)Java笔记之JDK7特性简述
- Java之final特性简述
- Java之final特性简述
- JDK7新特性笔记
- jdk7新特性学习笔记
- JDK7新特性之AIO
- JDK7新特性之AIO
- Java jdk7学习笔记
- JDK7新特性之G1 GC(转)
- JDK7新特性之遍历文件树
- JDK7新特性之概述(一)
- JDK7新特性之G1 GC
- JDK7新特性之fork/join框架
- JDK7新特性之监听文件系统更改
- JAVA学习笔记3——JDK7.0新特性+变量+运算符
- java学习之旅11--【补充】JDK7新特性_二进制整数_下划线分隔符
- java jdk7学习笔记:InputStream与OutputStream
- java jdk7学习笔记:InputStream与OutputStream
- dojo1.9学习总结(三)-事件绑定
- R语言之矩阵操作和运算
- PAT 1014. 福尔摩斯的约会 (20)
- Android组件TextView实现字体水平滚动
- 如何确定两个区间是否有交集?
- (13)Java笔记之JDK7特性简述
- 西藏难题
- 浅谈Java中的Set、List、Map的区别(1)
- Linux学习之socket编程
- Android SlidingMenu 开源项目 侧拉菜单的使用(详细配置)
- 黑马程序员_复习异常:理解自定义异常
- 黑马程序员—Java API(字符串缓冲区StringBuffer、StringBuilder)
- 求一个合并数据的命令
- swap的方法书写