(转载)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、希望对你有帮助!
(转载)Java 1.7的新特性的更多相关文章
- 使用示例带你提前了解 Java 9 中的新特性
使用示例带你提前了解 Java 9 中的新特性 转载来源:https://juejin.im/post/58c5e402128fe100603cc194 英文出处:https://www.journa ...
- JAVA JDK1.5-1.9新特性
1.51.自动装箱与拆箱:2.枚举(常用来设计单例模式)3.静态导入4.可变参数5.内省 1.61.Web服务元数据2.脚本语言支持3.JTable的排序和过滤4.更简单,更强大的JAX-WS5.轻量 ...
- Java 8 正式发布,新特性全搜罗
经过2年半的努力.屡次的延期和9个里程碑版本,甲骨文的Java开发团队终于发布了Java 8正式版本. Java 8版本最大的改进就是Lambda表达式,其目的是使Java更易于为多核处理器编写代码: ...
- Java引入的一些新特性
Java引入的一些新特性 Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本. Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程, ...
- Java学习之==>Java8 新特性详解
一.简介 Java 8 已经发布很久了,很多报道表明Java 8 是一次重大的版本升级.Java 8是 Java 自 Java 5(发布于2004年)之后的最重要的版本.这个版本包含语言.编译器.库. ...
- JAVA笔记 之 JDK新特性
JDK1.5新特性1.泛型(Generics) 为集合(collections)提供编译时类型安全,无需每刻从Collections取得一个对象就进行强制转换(cast) 2.增强的for循环(for ...
- Java系列 - 用Java8新特性进行Java开发太爽了
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome/ 前言 从开始写博客到现在已经过去3个 ...
- Java系列 – 用Java8新特性进行Java开发太爽了(续)
本人博客文章网址:https://www.peretang.com/using-java8s-new-features-to-coding-is-awesome-2/ 前言 上周, 我们谈论了关于Ja ...
- Java各个版本的新特性
原链接:http://blog.csdn.net/shareus/article/details/50736159 1.5 1.自动装箱与拆箱: 2.枚举(常用来设计单例模式) http://www. ...
随机推荐
- 使用PHP生成二维码的两种方法(带logo图像)
一.利用Google API生成二维码 Google提供了较为完善的二维码生成接口,调用API接口很简单,以下是调用代码: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- jquery deferred
http://www.ruanyifeng.com/blog/2011/08/a_detailed_explanation_of_jquery_deferred_object.html http:// ...
- HTML和CSS特殊属性
禁止用户选中html元素: <body onselectstart="return false"> 禁止事件传递: favorite.find("span&q ...
- 减少 WAF 漏报的 8 种方法 !
近十年来,WAF 已经逐渐发展成熟,被软件行业接受并成为无数企业保护应用的不二选择.很多大型企业甚至相继亲自设计或通过并购涉足其中,在这个硕大的市场里逐鹿竞争,同时也推动了应用层防火墙的技术演进. 与 ...
- The Perfect Stall
poj1274:http://poj.org/problem?id=1274 题意:有n个奶牛和m个谷仓,现在每个奶牛有自己喜欢去的谷仓,并且它们只会去自己喜欢的谷仓吃东西,问最多有多少奶牛能够吃到东 ...
- 在DJANGO的类视图中实现登陆要求和权限保护
以前接触的是基于函数的保护,网上材料比较多. 但基于类视图的很少. 补上! Decorating class-based views 装饰类视图 对于类视图的扩展并不局限于使用mixin.你也可以使用 ...
- Hibernate 注解 字段不映射的注解
在字段前面加这个注解:@Transient
- 5个提升Google Chrome浏览器运行速度的技巧
尽管有无数个喜欢Google Chrome 浏览器的理由,其中就包括,Chrome已经够快了,但Google Chrome的内存占用而导致的速度拖累还是广受诟病,这种弊端在windows下尤为明显, ...
- win7中的Uac与开机自动启动(好几种办法,特别是用不带UAC的程序启动UAC程序是一个简单的好办法,写驱动自启动更是了不得)
在另一篇文章中已经介绍了给Exe加上Uac的方法,在使用的过程中我们会发现,如果把带Uac的Exe写入注册表的Run中,是无法实现开机自动启动的,原因就是带Uac的exe需要申请管理员权限,以便运行执 ...
- 【HDOJ】3221 Brute-force Algorithm
归来吧很好推导.T(n) = a^f(n-1)*b^f(n)%p.主要难点在于求mod和fibo.引用如下公式A^B%C = A^(B%phi(C) + phi(C))%C, 满足B>=phi( ...