(转载)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. ...
随机推荐
- 简单学c——前言
1.学C语言需要什么基础吗? 零基础. 2.什么是C语言? C语言是一种编程语言. 3.什么是编程语言? 编程语言是用来定义计算机程序的形式语言,是一种被标准化的交流技巧,用来向计算机发出指令. ...
- Ogre内部渲染流程分析系列
come from:http://blog.csdn.net/weiqubo/article/details/6956005 要理解OGRE引擎,就要理解其中占很重要位置的 Renderable接口, ...
- JDK源码阅读(三) Collection<T>接口,Iterable<T>接口
package java.util; public interface Collection<E> extends Iterable<E> { //返回该集合中元素的数量 in ...
- 【竞品分析】Android音乐播放器的竞品分析
迄今为止最长的一篇博客,各位看官笑纳~~ 本次分析基于Android平台,选取了几款我体验过的播放器进行比较分析.主要分为两类,一类是大而全的,功能全面,可满足用户管理歌曲.导入导出歌单等多方面需求, ...
- Java反射的理解
反射的作用: 1.运行时检查类的结构 2.运行时更改类的字段值 3.调用类的方法 准备知识: Class类:虚拟机为每一个对象保存的一份对象所属类的清单: static Class for ...
- bootstrap datepicker时间插件显示位置不对
bppystrap-datetimepicker.min.js中,修改如下:将原来的 if(!b(this.element)){l=l+document.body.scrollTop}改 ...
- QQ 群也能接收告警啦!团队沟通力 Up Up!
截止到昨天,你已经可以通过 OneAlert 的「排班」和「分派」功能,来对告警进行有序地分发,解决团队协作效率低的问题了.然而 OneAlert 觉得自己还可以更进一步,把团队沟通困难的问题也解决掉 ...
- python处理csv数据
import csv #从文件读取 reader = csv.reader(file(srcFilePath,'rb')) for line in reader: #忽略第一行 if reader.l ...
- 深入了解一下PYTHON中关于SOCKETSERVER的模块-D
在LINUX上以FORK的方式使用SIMPLEHTTPSERVER. 记得哟,THREADING能在WIN和LINUX上实现,但FORK,不支持WIN的. 除了SIMPLE之外,还有CGI,就不示例啦 ...
- 【UVA10537】The Toll! Revisited (逆推最短路)
题目: Sample Input1a Z19 a Z5A DD XA bb cc X39 A X-1Sample OutputCase 1:20a-ZCase 2:44A-b-c-X 题意: 有两种节 ...