lambda使用说明
所属分类 java
浏览量 1366
Java Lambda表达式的一个重要用法是简化某些匿名内部类(Anonymous Classes)的写法
JVM 通过invokedynamic指令来实现Lambda表达式
Lambda 操作符或箭头操作符 ->
左侧 指定 Lambda 表达式需要的所有参数
右侧 指定 Lambda 体,即 Lambda 表达式要执行的功能。
1.无参,无返回值
Runnable r1 = () -> System.out.println("Hello Lambda!");
2.一个参数。
Consumer< String> con = (x) -> System.out.println(x);
3.只有一个参数,参数的小括号可以省略
Consumer< String> con = x -> System.out.println(x);
4.两个参数,并且有返回值
Comparator< Integer> com = (x, y) -> {
return Integer.compare(x, y);
};
5.只有一条语句时,return 与大括号可以省略
Comparator< Integer> com = (x, y) -> Integer.compare(x, y);
6.参数列表的数据类型可以省略不写,上下文推断数据类型
Comparator< Integer> com = (Integer x,Integer y) -> {
return Integer.compare(x, y);
};
BinaryOperator< Long> add = (Long x, Long y) -> x + y;
// 类型推断
BinaryOperator< Long> addImplicit = (x, y) -> x + y;
函数接口 内部只有一个抽象方法的接口
@FunctionalInterface
public interface MyFunInterface< T>{
void accept(T t);
}
@FunctionalInterface是可选的,加上该注解编译器会帮助检查接口是否符合函数接口规范
功能 和 @Override 类似
java.util.function 包
java8 Lambda 实例
上一篇
下一篇
服务注册与发现组件比较
mybatis动态更新自动去掉多余逗号
dubbo知识点
Redis cluster 原理
redis内存设置及淘汰策略
redis高可用架构之哨兵