Java8 新特性

1.Lambda表达式–允许将函数作为一个方法的参数
语法格式如下:
(parameters) -> expression或(parameters)->{statements;}

2.方法应用–直接引用已有Java类或对象(实例)的方法或构造器
3.默认方法–在接口中有了一个实现了的方法
4.新工具–新的编译工具

5.Stream API–新添加的Stream API把真正的函数式编程风格引入Java中
5.1 Java 8 API 添加了一个新的抽象称之为Stream, 可以让你以一种声明的方式来处理数据.Stream 使用一种类似用SQL语句从数据库查询数据的直观方式来提供一种对Java集合运算和表达的高阶抽象.
+—————-+ +—-+ +—-+ +—-+ +—-+
| stream of elments +—->| filter +—->|sorted+—->|map +—->|collect|
+—————-+ +—-+ +—-+ +—-+ +—-+
5.2 stream操作的两个基础特征:
Pipelining:中间操作都会返回流对象本身.这样多个操作可以串联成一个管道, 如同流式风格.(存在优化:延迟执行和短路)
内部迭代:提供了内部迭代的方式
5.3 生成流
stream()–为集合创建串行流
parallelStream()–为集合创建并行流
5.4 forEach
Stream提供了新的方法’forEach’来迭代流中的每个数据
5.5 map
map方法用于映射每个元素对应的结果
5.6 filter
Filter方法用于通过设置的条件过滤出元素
5.7 limit
limit方法用于获取指定数量的流
5.8 sorted
sorted方法用于对流进行排序
5.9 并行(parallel)程序
parallelStream是流并行处理程序的代替方法
5.10 Collectors
Collectors类实现了很多规约操作, 例如将流转换成集合和聚合元素
5.11 统计
一些统计结果的收集器也非常有用, 主要用于int, double, long等基本类型上

6.Date Time API–加强对日期与时间的处理
7.Optional类–用来将解决空指针异常
8.Nashorn, javaScript引擎–允许我们在JVM上运行特定的javaScript应用

你可能感兴趣的:(Java,Java)