JDK7新特性

JDK7新特性

         一直在用JDK7的新特性,但是目前总结对开发中美化代码和比较实用的几个特性。1)switch中的String类型比较。2)数字常量的新形式写法。3)改进的异常处理。4)try-with-resources。5)砖石语法。

Switch中引入String比较类型

这个不多介绍,因为大家一定已经很熟悉了。

数字常量的新形式写法

         这个特性的引入对我们阅读数字有很好的帮助。可以使用下划线去划分,提示阅读。这个下划线不是说一定要3位数字划分一次,多少位都可以,根据个人阅读习惯,编译的时候JVM会将下划线去掉。

long amount = 123000555999666L;
//JDK7特性写法
long amount1 = 123_000_555_999_666L;

改进的异常处理

在JDK7之前我们的异常可能需要这样去捕获不同的情况异常,但是处理过程却是一样的,这样增加的代码量和美观。

try {

} catch (NullPointerException e) {
    System.out.println("出错啦");
} catch (ArrayIndexOutOfBoundsException e) {
    System.out.println("出错啦");
}

         JDK7引入新写法,如果捕获多个异常的处理过程是一样的,可以使用以下写法。

try {

} catch (NullPointerException | ArrayIndexOutOfBoundsException e) {
    System.out.println("出错啦");
}

try-with-resources

         在使用流的时候,最麻烦的就是要控制流的关闭。而且关闭流还有可能出现异常,这样代码是非常不美观的。TWR写法,不用人工干预,流会自动关闭。

         这样打开一个流,就要写这么多的代码。

InputStream is = null;
try {
    is = new FileInputStream(new File(""));
} catch (FileNotFoundException e) {
    e.printStackTrace();
} finally {
    try {
        is.close();
    } catch (IOException e) {
        e.printStackTrace();
    }
}

         使用TWR写法。注意,try(这里创建的对象,必须实现了AutoCloseable接口,这个接口有close方法,这个方法会执行关闭操作,所以流是这样被关闭的) {} catch(){}

File file = new File("");
try (InputStream is = new FileInputStream(file)) {
    
} catch (IOException e) {

}

         自己可以写个类实现AutoCloseable接口,看TWR写法会不会调用close方法。

砖石语法

         JDK7中,泛型只需要写左边就可以了,因为JVM会根据左边去推断右边的值。

Map<String, String> map = new HashMap<>();
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: Age of Ai 设计师: meimeiellie
应支付0元
点击重新获取
扫码支付

支付成功即可阅读