JDK1.8新特性(一):JDK1.8究竟有哪些新特性呢
【摘要】 目前JDK1.8被各大公司、各大项目纷纷使用,作为Java开发中使用最多的版本,细心的你,或许早已发现它与之前版本存在着较大的差异。如果能熟练掌握使用这些差异、新特性,你会发现另一片天地。今天抽时间整理下,JDK1.8新特性究竟有哪些?并以【JDK1.8新特性】专题逐一展开讨论、学习。
目前JDK1.8被各大公司、各大项目纷纷使用,作为Java开发中使用最多的版本,细心的你,或许早已发现它与之前版本存在着较大的差异。如果能熟练掌握使用这些差异、新特性,你会发现另一片天地。今天抽时间整理下,JDK1.8新特性究竟有哪些?并以【JDK1.8新特性】专题逐一展开讨论、学习。
(JDK1.8新特性常常在面试中被问及的频率很高哦)
JDK1.8概述
JDK1.8,又称之为Java 8(我习惯叫它为JDK1.8,后续统一叫做JDK1.8),是Java语言开发的一个主要版本。Oracle公司于2014年3月18日发布,它支持函数式编程,新的JavaScript引擎,新的日期API,新的Stream API等。
JDK1.8相比1.7之前版本,有以下几方面的优化:
- 速度更快;
- 代码更少(Lambda表达式);
- 强大Stream API;
- 便于并行;
- 最大化减少空指针异常(OPtional类)。
举例如下,JDK1.8的特性是不是与众不同。
package com.xcbeyond.study.jdk8;
import org.junit.Test;
import java.util.Arrays;
import java.util.List;
/**
* JDK1.8新特性
* @Auther: xcbeyond
* @Date: 2019/11/27 0027 23:53
*/
public class Java8Test {
@Test
public void java8Example() {
// 定义一个整型list,对其进行遍历
Integer[] numArray={1,2,3,4,5,6,7,8};
List<Integer> numList= Arrays.asList(numArray);
/**
* 方式1:常规foreach
*/
for (int num : numList) {
System.out.println(num);
}
/**
* 方式2:JDK1.8 新特性写法(Lambda表达式)
* 代码量是不是少了很多
*/
numList.forEach((num) -> System.out.println(num));
}
}
新特性
JDK1.8新增了非常多的特性,本专题主要讨论以下几个:
- Lambda表达式:Lambda允许把函数作为一个方法的参数(函数作为参数传递到方法中)。
- 方法引用:方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。
- 默认方法:默认方法就是一个在接口里面有了一个实现的方法。
- 新工具:新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。
- Stream API:新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。
- Date Time API:加强对日期与时间的处理。
- Optional类:Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。
- Nashorn,JavaScript引擎:JDK1.8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。
参考资料:
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)