Java8 ~ 特性
Java8 特性1
函数式编程
将方法和lambda作为一等值;
在没有可变共享状态时,函数或方法可以有效、安全的并行执行。
行为参数化
行为参数化可以帮助处理频繁变更的需求的一种软件开发模式。
让方法接受多种行为作为参数,并在内部使用,来完成不同的行为。
将方法的行为参数化了。
行为参数化的好处在于可以将迭代要筛选的集合的逻辑与集合中每个元素应用的行为区分开来。
多种行为,一个参数.
特点:
- 行为参数化,就是一个方法接受多个不同的行为作为参数,并在内部使用它们,完成不同行为的能力。
- 行为参数化可以让代码更好地适应不断变化的需求,减轻未来的工作量。
- 传递代码,就是将新行为作为参数传递给方法。
- Java API包含很多可以使用不同行为进行参数化的方法,包括排序、线程和GUI处理。
软件工程原则 DRY (Don't Repeat YouSelf)
Lambda
lists.sort(Comparator.comparing(User::getAge));
Thread thread = new Thread(() -> System.out.println("123"));
特点:
匿名、函数、传递、简洁
组成:参数、箭头和主体
例子:
(String s) -> s.length()
(Apple a) -> a.getWeight() > 150
(int x, int y) -> {
System.out.println("Result:");
System.out.println(x + y);
}
(Apple a, Apple b) -> a.getWeight().compareTo(b.getWeight())
基本语法:
(parameters) -> expression
或
(parameters) -> { statements; }
where can use:
函数式接口:函数式接口就是只定义一个抽象方法的接口。
Predicate<T>
Consumer<T>
Function<T, R>
函数描述符
环绕执行模式
原始类型->引用类型 boxing
让每一天过的有意义!