Java JDK 1.7 和 JDK 1.8 新特性
引言
本文主要介绍 Java JDK 中 1.7 和 1.8 的新特性。
JDK 1.7 新特性
1. switch可以接受String类型;
public class Switch {
public void test(String str) {
switch (str) {
case "computer":
System.out.println("computer");
break;
case "book":
System.out.println("book");
break;
case "phone":
System.out.println("phone");
break;
default:
System.out.println("default");
break;
}
}
}
2. 可以在catch代码块中捕获多个异常类型;
try {
//可能会抛出Exception1和Exception2异常的代码
}catch(Exception1 | Exception2 3) {
//处理异常的代码
}
3. 对数值字面量进行了改进;
(1)增加了二进制字面量的表示(0B001、0b111)。整数类型(例如byte、short、int、long等)也可以使用二进制数来表示。
(2)在数字中可以添加分隔符,例如123_456,下划线只能被用在数字中间,编译的时候这些下划线会被编译器去掉。好处:避免了一些难以观察代码来发现的细微错误。
4. 使用泛型增加了类型推断机制;
Map<String, String> map = new HashMap<>();
5. 增加了try-with-resources语句,确保每个资源都在生命周期结束后被关闭
6. 增加了fork/join框架来增强对处理多核并行计算的支持
JDK 1.8 新特性
1. 增加了对lambda表达式的支持。
//这是带参数类型的Lambda的写法
public void testLamda1(){
List<String> list =Arrays.asList("aaa","fsa","ser","eere");
Collections.sort(list, (Comparator<? super String>) (String a,String b)->{
return b.compareTo(a);
}
);
for (String string : list) {
System.out.println(string);
}
}
2. default关键字:default方法是所有的实现类都不需要去实现的就可以直接调用
3. 函数式接口
4. 方法与构造函数引用
5. 局部变量限制
6. Date API 更新:定义了多种常量格式
7. 流
Java JDK 1.7 和 JDK 1.8 新特性的更多相关文章
- Java 11 正式发布,这 8 个逆天新特性教你写出更牛逼的代码
美国时间 09 月 25 日,Oralce 正式发布了 Java 11,这是据 Java 8 以后支持的首个长期版本. 为什么说是长期版本,看下面的官方发布的支持路线图表. 可以看出 Java 8 扩 ...
- Java 11正式发布,这几个逆天新特性教你写出更牛逼的代码
就在前段时间,Oracle 官方宣布 Java 11 (18.9 LTS) 正式发布,可在生产环境中使用! 这无疑对我们来说是一大好的消息.作为一名java开发者来说,虽然又要去学习和了解java11 ...
- Java JDK 1.5 1.6 1.7 新特性整理
Java JDK 1.5的新特性 1.泛型 List<String> strs = new ArrayList<String>();//给集合指定存入类型,上面这个集合在存入数 ...
- JDK 7中的文件操作的新特性
文件系统综述 一个文件系统在某种媒介(通常是一个或多个硬盘)上存储和组织文件.如今的大多数文件系统都是以树状结构来存储文件.在树的顶端是一个或多个根节点,在根节点一下,是文件和目录(在Windows系 ...
- java基础(1)-比较jdk5,jdk6,jdk7的新特性
jdk8已经出来好长时间了,这里自己学习时简单总结的jdk5,jdk6和jdk7的新特性:本文提纲: 一.jdk5的新特性 二.jdk6的新特性 三.jdk7的新特性 一.jdk5的新特性 首先简单介 ...
- Java基础学习总结(55)——java8新特性:stream
java作为开发语言中的元老已经度过了很多年,最新的java8为我们带来了一些新特性,这些特性可以在以后的工作中为我们的开发提供更多的便捷,现在就让我们看看最新的函数式编程风格怎么在实际的开发中使用. ...
- 说出 JDK 1.7 中的三个新特性?
虽然 JDK 1.7 不像 JDK 5 和 8 一样的大版本,但是,还是有很多新的特性, 如 try-with-resource 语句,这样你在使用流或者资源的时候,就不需要手动关 闭,Java 会自 ...
- 用ScriptEngine在java中和javascript交互的例子(JDK6新特性)
package demo7; import java.util.Arrays; import java.util.List; import javax.script.Invocable; import ...
- 夯实Java基础(二十二)——Java8新特性之Lambda表达式
1.前言 Java 8于14年发布到现在已经有5年时间了,经过时间的磨练,毫无疑问,Java 8是继Java 5(发布于2004年)之后的又一个非常最重要的版本.因为Java 8里面出现了非常多新的特 ...
- JDK 15 JAVA 15的新特性展望
目录 JEP 371: Hidden Classes JEP 372: 删除 Nashorn JavaScript Engine JEP 377: 新的垃圾回收器ZGC正式上线了 JEP 378: T ...
随机推荐
- 字体大小之px、em、rem、pt,字号详解
PX px像素(Pixel).相对长度单位.像素px是相对于显示器屏幕分辨率而言的. 是一个虚拟长度单位,是计算机系统的数字化图像长度单位,如果px要换算成物理长度,需要指定精度DPI(Dots Pe ...
- MySQL中index和key的关系
KEY is normally a synonym for INDEX. The key attribute PRIMARY KEY can also be specified as just KEY ...
- 善用性能工具进行SQL整体优化
SQL优化是一个复杂的工程,首先要讲究从整体到局部.今天我们首先学习关于数据库整体优化都有哪些性能工具,接着分析这些工具的特点,并结合案例进行探索,最后再进行总结和思考. 总体学习思路如下图所示: 都 ...
- mongodb--入门知识点
命令 mongo.exe,命令行客户端Shell工具. mongod.exe,数据库服务程序. mongodump.exe,数据库备份程序. mongoexport.exe,数据导出工具. mongo ...
- Android学习心得(13) --- Android代码混淆(1)
我在博客上发表一些我的Android学习心得,希望对大家能有帮助. 这一篇我们讲述一下最新的ADT环境下怎样进行Android混淆 在新版本号的ADT创建项目时.混码的文件不再是proguard.cf ...
- IP地址的规划和设计方法(三)
九,内部网络专用IP地址规划与网络地址转换NAT方法 (1)内部网络的专用IP地址选择的根据 RFC1918在讨论内部网络的专用IP地址规划方法时任务.使用专用地址规划一个内部网络地址系统时.首选的方 ...
- codechef Little Elephant and Bombs题解
The Little Elephant from the Zoo of Lviv currently is on the military mission. There are N enemy bui ...
- javascript学习笔记(一)-廖雪峰教程
一. 基础 1.for in,for of和forEach 遍历的是对象的属性,因为数组也是对象,其内部的元素的索引就是其属性值.用该方式遍历数组就是获取了数组中的每一个元素的索引值(从0開始). 而 ...
- Linux学习笔记:什么是x86
什么是x86 和硬件打交道常常会听说x86,疑惑的时候自己翻过书上网查过资料.可是都不甚明白.近期再次遇到x86这个词,随具体了解并做笔记记录. 想要知道什么是x86应该先区分CPU的分类. CPU ...
- 单片机project师必备的知识
C语言编程 程序编译过程 哪部分干什么 数据结构 链表 二叉树 算法 数组 堆栈 队列算法 遍历 常量在内存中的表现形式 语法和内存的相应关系 数电 UML 类图 时序图 状态图 用例图 ...