java8的一些新特性:
- 流处理(
stream API
) - 行为参数化 ::
- Lambda
- 方法引用(predicate–谓词)
- 默认方法(default)
Optional<T>
容器对象 可包含空值
Stream API+lambda+行为参数化
things=filterThings(things,(Thing a)->a.getColor().equals("red"));
List<Thing> blueThings=things.stream().filter((Thing t)->t.getColor().equals("blue")).collect(Collectors.toList());
List<Thing> parallelThings=things.parallelStream().filter((Thing t)->t.getSize()<5).collect(Collectors.toList());
行为参数化
- predicate 流程
public static boolean testSizeBig(Thing thing){
return thing.getSize()>5;
}
filter(xxx,class::testS
default
- 扩写接口且实体类不用显式实现