zoukankan      html  css  js  c++  java
  • JDK 1.7特性

    jdk1.7 新特性
    下面是Java 1.7 里新出现的功能的一些用法例子:
    1、对集合的支持
      创建List / Set / Map 时写法更简单了。
      
      List String> list = [item];
      String item = list[0];
      Set String > set = {item};
      Map String,Integer > map = {key : 1};
      int value = map[key];
    
    2、对资源的自动回收管理
      下面的代码看起来有点麻烦 … 不是吗?
      
      BufferedReader br = new BufferedReader(new FileReader(path));
      try {
      return br.readLine();
      } finally {
      br.close();
    
      相信你一定会喜欢下面这种写法。  
      try (BufferedReader br = new BufferedReader(new FileReader(path)) {
      return br.readLine();
    
    3、泛型实例创建过程中类型引用的简化
      当声明你的对象的接口是,你肯定是不想重复指明泛型类型。
      看看下面的这种写法多好呀…
      
      MapString,String> hello = new Map();
    
      1Map hello = new Map();4、在数字中使用下划线
      
      int billion = 1_000_000_000;
    
      1int billion = 1_000_000_000;  我不知道这个能有多少用处。
    5、对字符串进行switch case
    String s = "test"; 
    switch (s) { 
    case "test" : 
    System.out.println("test"); 
    case "test1" : 
    System.out.println("test1"); 
    break ; 
    default : 
    System.out.println("break"); 
    break ; 
    }
      注意:在把字符串传进Switch case之前,别忘了检查字符串是否为Null。
    6、二进制符号
      你可用作二进制字符前加上 0b 来创建一个二进制类型。
      
      int binary = 0b1001_1001;
    
    7、一个catch里捕捉多个异常类型
      
      try {
      Here comes your code....}
      catch(IOException | NullPointerException | ..........) {
    8、语法上支持集合,而不一定是数组
      final List<Integer> piDigits = [ 1,2,3,4,5,8 ]; 
    9、新增一些取环境信息的工具方法
    File System.getJavaIoTempDir() // IO临时文件夹
    File System.getJavaHomeDir() // JRE的安装目录
    File System.getUserHomeDir() // 当前用户目录
    File System.getUserDir() // 启动java进程时所在的目录
    9、 Boolean类型反转,空指针安全,参与位运算
    Boolean Booleans.negate(Boolean booleanObj)
    True => False , False => True, Null => Null
    boolean Booleans.and(boolean[] array)
    boolean Booleans.or(boolean[] array)
    boolean Booleans.xor(boolean[] array)
    boolean Booleans.and(Boolean[] array)
    boolean Booleans.or(Boolean[] array)
    boolean Booleans.xor(Boolean[] array)
    10、安全的加减乘除
    int Math.safeToInt(long value)
    int Math.safeNegate(int value)
    long Math.safeSubtract(long value1, int value2)
    long Math.safeSubtract(long value1, long value2)
    int Math.safeMultiply(int value1, int value2)
    long Math.safeMultiply(long value1, int value2)
    long Math.safeMultiply(long value1, long value2)
    long Math.safeNegate(long value)
    int Math.safeAdd(int value1, int value2)
    long Math.safeAdd(long value1, int value2)
    long Math.safeAdd(long value1, long value2)
    int Math.safeSubtract(int value1, int value2)
    


  • 相关阅读:
    《SQL 基础教程》第五章:复杂查询
    Ruby on Rails Tutorial 第一章笔记
    《Practical Vim》第十章:复制和粘贴
    《Practical Vim》第五章:命令行模式
    《SQL 基础教程》第四章:数据更新
    用户的三次登录验证及进度条
    socket模块开启一个永久性服务
    TCP协议实现切换目录
    爬取好友微信信息
    TCP协议中传输系统命令及上传下载文件
  • 原文地址:https://www.cnblogs.com/leejuen/p/5547482.html
Copyright © 2011-2022 走看看