• (转载)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、希望对你有帮助!
  • 相关阅读:
    C# 函数式编程
    【python】 入门 搭建环境
    luogu P3978 [TJOI2015]概率论
    luogu P4778 Counting swaps
    luogu P2480 [SDOI2010]古代猪文
    luogu P3243 [HNOI2015]菜肴制作
    luogu P4744 [Wind Festival]Iron Man
    luogu P4448 [AHOI2018初中组]球球的排列
    luogu P1593 因子和
    luogu P1943 LocalMaxima_NOI导刊2009提高(1)
  • 原文地址:https://www.cnblogs.com/bluewelkin/p/3622607.html
Copyright © 2020-2023  润新知