Java8 的一些新特性

最近看了《写给大忙人看的java se 8》这本书,简单的记录一下读后感和总结。
由于本人不做Java GUI 方面的工作,于是第4章种JavaFX直接跳过。

1.lambda 表达式。

这是java 种给出的最新特性,在最近的开发者也是相当火的一项技能。
语法特性

语法格式:参数->表达式


来看几个例子
1.无参数
()->{System.out.println("Hello Lambda");};
()->function();
2.携带参数
String result = (String first,String second)->{first+second};
//永远不需要为lambda表达式执行返回类型,它会根据上下文进行推导出来。

方法引用


1.对象::实例方法
2.类:: 静态方法
(x,y)->Math.pow(x,y) == Math::pow;
3.类::实例方法
String::compareToIgnoreCase

Stream API

针对stream 的看法,是一种链式结构操作,针对集合或者一些数据进行一系列操作,改变,转换,过滤,聚合等操作。


Stream data = ...;
Stream result = data.
filter().
map().
flatMap()
limit()
peek();
......
并行操作一般都是以前缀parallel()进行命名

新的时间API

java.time种的时间进行加强。
LocalDateTime 没有时区信息。
Instant 代替了原来的Date

原子值

java8 加强了并发处理,java.util.concurrent.atomic 包提供了用于支持无锁可变变量的类。

其他改进

1.字符串分割连接
a+","+b+","+c = String.join(",",a,b,c);
2.Math.floorMod(x,n) = x %n;
3.集合
Interable--forEach
Collection -- removeIf
List -- replaceAll,sort
Map -- forEach,replace,replaceAll,remove

java 7 中一些特性

1.try -with-resources 来自动关闭流操作资源。
2.object.equals(a,b).

你可能感兴趣的:(Java8 的一些新特性)