JDK1.7特性

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/csdnchen666666/article/details/82252896
  1. 为什么会有这篇文章?

    同事打印了一下System.out.println(001000);结果输出了512,开始的时候很不能理解为什么会输出这个数,后来百度了一下才知道其实这是一个低级问题,因为0开头的系统会认为这个是一个八进制数,接着看到了jdk1.7的新特性,支持了二进制的表示方式。下面整理一些1.7的新特性。
  2. jdk1.7的新特性主要内容:

    1. 在switch中使用String,在1.7以前只支持byte,short,int,char,enum。使用方式和使用byte,short那些一样,就不举例子了。
    2. try-with-resources,之前使用的很多IO操作都需要手动去关闭流,现在使用这种方式,只要是实现了java.lang.AutoCloseable和java.io.Closeable的类就不需要再手动关闭了。
      例子:try(OutputStream out=new FileOutputStream("/home/a.txt")){}
      如果是使用了多个需要关闭的流可以在括号中加入";"然后接在后面继续声明,声明时需要注意顺序,先声明的后关闭
    3. 捕获多个异常,之前捕获的每个异常都需要写一次catch,现在只需要一次catch
      例子:catch(IllegalArgumentException | IllegalAccessException e){}
    4. 泛型实例化类型自动推断,例子看看就明白,在之前后面的泛型必须写,现在不需要了
      例子:List<String> list=new ArrayList<>();
    5. 增加二进制表示
      int a=123;//十进制
      int b=0123;//八进制
      int c=0x123;//十六进制
      int d=0b101;//二进制(1.7新增)
    6. 数字中可以添加分隔符,编译的时候回自动去掉下划线
      例子:int a=1000_000_000;
  3. 总结

    jdk1.7在2011年就发布了,这些特性作为一个java开发者到现在还不知道,感觉很惭愧,以后要多关注java版本的更新,新特性提供给我们的都会是更好的性能,更便捷的操作,应该在开发中多使用。

猜你喜欢

转载自blog.csdn.net/csdnchen666666/article/details/82252896
今日推荐