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 ...
随机推荐
- windows 下 logstash 安装启动
最新在研究elastic stack (elk) : logstash 安装,下载最新版本的logstash: 点击打开链接 解压到磁盘根目录下:在logstash>bin 1.目录下创建:l ...
- Java上使用Lombok插件简化Getter、Setter方法
Maven引入依赖: <dependencies> <dependency> <groupId>org.projectlombok</groupId> ...
- ZOJ 3494
超级神奇有趣题. AC自动机+数位DP.其实,数位DP在处理含有某些数字时特别不好处理,应该把它倒转为求不含有.这道题把数位DP+AC自动机结合起来,实在是很巧妙,把数字变为串来处理,强大! 要使用A ...
- C# - Generics
Generics were added to version 2.0 of the C# language and the common language runtime (CLR). Generic ...
- Xcode6+Cocos2d-x真机调试 报错
眼下真机调试时遇到下面问题. Undefined symbols for architecture arm64: "_png_get_io_ptr", referenced fro ...
- 我是这样记录javascript知识的------Day31
在陆续研究了几个javascript的几个小应用后,也算对javascript有了更深一点的认识,头脑中大约都有些印象,总体上说却有些模糊,这时.我知道,是时候看看w3cshool的这部分介绍了. 没 ...
- mac 下作流程图工具omnigraffle
omnigraffle:http://www.uzzf.com/soft/91710.html 含盖激活码: Name: mojado Serial: JYFE-JRJN-GSOT-GRAG-EVJI ...
- <LeetCode OJ> 31. Next Permutation
31. Next Permutation Total Accepted: 54346 Total Submissions: 212155 Difficulty: Medium Implement ne ...
- TestNG升级
TestNG 6.5.1 or above is required,please update your TestNG or uncheck 'Use project TestNG jar' from ...
- 【转】学会这13个原则写UI界面文案,用户才能秒懂
原文网址:http://www.niaogebiji.com/article-12011-1.html 摘要: 首先,在写UI文案之前,为了理清思路,要先搞清楚三个问题:我(设计师)想让用户做什么? ...