博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Java 8 新特性-菜鸟教程 (0) -Java 8 新特性
阅读量:5896 次
发布时间:2019-06-19

本文共 1974 字,大约阅读时间需要 6 分钟。

Java 8 新特性

Java 8 (又称为 jdk 1.8) 是 Java 语言开发的一个主要版本。 Oracle 公司于 2014 年 3 月 18 日发布 Java 8 ,它支持函数式编程,新的 JavaScript 引擎,新的日期 API,新的Stream API 等。

 

新特性

Java8 新增了非常多的特性,我们主要讨论以下几个:

  • Lambda 表达式 − Lambda允许把函数作为一个方法的参数(函数作为参数传递进方法中。

  • 方法引用 − 方法引用提供了非常有用的语法,可以直接引用已有Java类或对象(实例)的方法或构造器。与lambda联合使用,方法引用可以使语言的构造更紧凑简洁,减少冗余代码。

  • 默认方法 − 默认方法就是一个在接口里面有了一个实现的方法。

  • 新工具 − 新的编译工具,如:Nashorn引擎 jjs、 类依赖分析器jdeps。

  • Stream API −新添加的Stream API(java.util.stream) 把真正的函数式编程风格引入到Java中。

  • Date Time API − 加强对日期与时间的处理。

  • Optional 类 − Optional 类已经成为 Java 8 类库的一部分,用来解决空指针异常。

  • Nashorn, JavaScript 引擎 − Java 8提供了一个新的Nashorn javascript引擎,它允许我们在JVM上运行特定的javascript应用。

更多的新特性可以参阅官网:

 

编程风格

Java 8 希望有自己的编程风格,并与 Java 7 区别开,以下实例展示了 Java 7 和 Java 8 的编程格式:

package java8.cainiao;import java.util.Collections;import java.util.List;import java.util.ArrayList;import java.util.Comparator; public class Java8Tester {   public static void main(String args[]){         List
names1 = new ArrayList
(); names1.add("Google "); names1.add("Runoob "); names1.add("Taobao "); names1.add("Baidu "); names1.add("Sina "); List
names2 = new ArrayList
(); names2.add("Google "); names2.add("Runoob "); names2.add("Taobao "); names2.add("Baidu "); names2.add("Sina "); Java8Tester tester = new Java8Tester(); System.out.println("使用 Java 7 语法: "); tester.sortUsingJava7(names1); System.out.println(names1); System.out.println("使用 Java 8 语法: "); tester.sortUsingJava8(names2); System.out.println(names2); } // 使用 java 7 排序 private void sortUsingJava7(List
names){ Collections.sort(names, new Comparator
() { @Override public int compare(String s1, String s2) { return s1.compareTo(s2); } }); } // 使用 java 8 排序 private void sortUsingJava8(List
names){ Comparator
c=(s1, s2) -> s1.compareTo(s2); Collections.sort(names, c); }}

 

转载地址:http://uyasx.baihongyu.com/

你可能感兴趣的文章
MFC中利用CString和Format成员函数将数字格式化输出
查看>>
微信跳一跳第二天
查看>>
UVA 11176 Winning Streak
查看>>
为什么说DOM操作很慢
查看>>
VIM高级进阶(替换/正则)!
查看>>
js中cookie的使用详细分析
查看>>
QT生成的exe在其他电脑打开
查看>>
CentOS 7安装Tomcat8
查看>>
ivar_getTypeEncoding(随手记)
查看>>
3、先行发生原则
查看>>
Best Time to Buy and Sell Stock II [LEETCODE]
查看>>
Ext-json
查看>>
C# 传统的ToString
查看>>
霜降配1种水果, 冬天不会流鼻涕, 嘴唇不会裂, 还能解酒、预防大脖子病
查看>>
sqlserver存储过程中SELECT 与 SET 对变量赋值的区别[转]
查看>>
echarts合并地图,把中国各个省份分成华北,东北,华东,华中,华南,西南,西北七个大区...
查看>>
包含到cocos2d-x里的tcpsocket源码
查看>>
[转]天龙八部的BillingServer
查看>>
NoSQL与其常见的产品
查看>>
iOS开发UITouch触摸API简介
查看>>