zoukankan      html  css  js  c++  java
  • (转载)Java 1.7的新特性

    网上找了一下,整理了贴出来。

    下面是Java 1.7 里新出现的功能的一些用法例子:

    对集合的支持

    摒弃了 Java 集合接口的实现类,如: ArrayList 、 HashSet 和 HashMap 。而是直接采用 [] 、 {} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,创建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"];

     

     

    对资源的自动回收管理

    下面的代码看起来有点麻烦,不是吗?

     

    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();}

     

     

     

    泛型实例创建过程中类型引用的简化

    当声明你的对象的接口是,你肯定是不想重复指明泛型类型,看看下面的这种写法多好呀!

     

    Map<String,String> hello = new Map<>();

     

     

    在数字中使用下划线

     

            int billion = 1_000_000_000;

     

    我不知道这个能有多少用处。

     

    对字符串进行switch case

     

    String availability = "available";switch(availability) { case "available":	//code	break;    case "unavailable":	//code	break;    case "merged":	//code    default:	//code	break;}

     

    注意:在把字符串传进Switch case之前,别忘了检查字符串是否为null。

     

     

    二进制符号

    你可用作二进制字符前加上 0b 来创建一个二进制类型。

    int binary = 0b1001_1001;

     

    一个catch里捕捉多个异常类型

     

                try {//Here comes your code....} catch(IOException || NullPointerException || ..........) {}

    如果有人能说出更多的新特征,那就更好了。我相信里面有更多的很酷的新东西。

    上文是从 What’s Up in Java 1.7 这篇文章翻译而来,下文是另找的:

     

    语法上支持集合,而不一定是数组

     

            final List piDigits = [ 1,2,3,4,5,8 ]; 

     

     

    新增一些取环境信息的工具方法

     

    File System.getJavaIoTempDir() // IO临时文件夹 File System.getJavaHomeDir() // JRE的安装目录 File System.getUserHomeDir() // 当前用户目录 File System.getUserDir() // 启动java进程时所在的目录 ....... 

     

     

    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 Boolean...

    ------------------------------------------------------------------------------

    1、对集合的支持:摒弃了 Java 集合接口的实现类,而是直接采用 [] 、 {} 的形式存入对象,采用 [] 的形式按照索引、键值来获取集合中的对象,创建List / Set / Map 时写法更简单了。
    2、对资源的自动回收管理
    3、泛型实例创建过程中类型引用的简化
    4、对字符串进行switch case
    5、在数字中使用下划线
    6、二进制符号,你可用作二进制字符前加上 0b 来创建一个二进制类型。
    7、一个catch里捕捉多个异常类型
    8、语法上支持集合,而不一定是数组,如:final List piDigits = [ 1,2,3,4,5,8 ];
    9、新增一些取环境信息的工具方法
    10、Boolean类型反转,空指针安全,参与位运算
    11、两个char间的equals
    12、安全的加减乘除
    13、希望对你有帮助!
  • 相关阅读:
    如何将网格式报表打印成其它样式
    拥有与实力不相称的脾气是种灾难——北漂18年(23)
    8.8.1 Optimizing Queries with EXPLAIN
    mysql 没有rowid 怎么实现根据rowid回表呢?
    secondary index
    8.5.5 Bulk Data Loading for InnoDB Tables 批量数据加载
    mysql 中key 指的是索引
    8.5.4 Optimizing InnoDB Redo Logging 优化InnoDB Redo 日志
    8.5.3 Optimizing InnoDB Read-Only Transactions 优化InnoDB 只读事务
    8.5.1 Optimizing Storage Layout for InnoDB Tables InnoDB表的存储布局优化
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/3622607.html
Copyright © 2011-2022 走看看