(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或相关资料
0 0