首页  

lambda使用说明     所属分类 java 浏览量 1381
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高可用架构之哨兵