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应用。
更多的新特性�以�阅官网:What's New in JDK 8
在关于 Java 8 æ–‡ç« çš„å®žä¾‹ï¼Œæˆ‘ä»¬å�‡ä½¿ç”¨ jdk 1.8 çŽ¯å¢ƒï¼Œä½ å�¯ä»¥ä½¿ç”¨ä»¥ä¸‹å‘½ä»¤æŸ¥çœ‹å½“å‰� jdk 的版本:
$ java -version java version "1.8.0_31" Java(TM) SE Runtime Environment (build 1.8.0_31-b13) Java HotSpot(TM) 64-Bit Server VM (build 25.31-b07, mixed mode)
ç¼–ç¨‹é£Žæ ¼
Java 8 å¸Œæœ›æœ‰è‡ªå·±çš„ç¼–ç¨‹é£Žæ ¼ï¼Œå¹¶ä¸Ž Java 7 区别开,以下实例展示了 Java 7 å’Œ Java 8 çš„ç¼–ç¨‹æ ¼å¼�:
Java8Tester.java 文件代ç �:
执行以上脚本,输出结果为:
$ javac Java8Tester.java $ java Java8Tester 使用 Java 7 è¯æ³•: [Baidu , Google , Runoob , Sina , Taobao ] 使用 Java 8 è¯æ³•: [Baidu , Google , Runoob , Sina , Taobao ]
接下�我们将详细为大家简介 Java 8 的新特性:
| �� | 特性 |
|---|---|
| 1 | Lambda 表达� |
| 2 | 方法引用 |
| 3 | 函数�接� |
| 4 | 默认方法 |
| 5 | Stream |
| 6 | Optional ç±» |
| 7 | Nashorn, JavaScript 引擎 |
| 8 | 新的日期时间 API |
| 9 | Base64 |
点我分享笔记