先来看写法:
Lambda 表达式的写法:
最简单的用法:简化匿名内部类.1. 如果要重写的方法是无参的.
()->{ 方法体}
2. 如果只有一个参数
参数名 -> {方法体}
3. 如果有多个参数的
(参数1,参数2) - > {方法体}
只能用于接口
JDK1.8体现了一个趋势:兼容.兼容其它语言.
所以JDK1.8所提出的就是函数式.
代表有:引用了C++中的Lambda.
下面来看实例代码:
1.重写的方法是无参的:
先定义一个接口:
public interface LambdaT { /** * 测试方法 * @param i */ public void method(); }
测试代码:
public LambdaTest{ public static void main(String[] args){ LambdaT it = () -> { System.out.println("lambda"); } it.method(); } }
2. 重写的方法是有一个参数的:
接口:
public interface Lambda{ public void method(int i);}
测试:
public LambdaTest{ public static void main(String[] args) { Lambda it = i -> { System.out.println(i); } it.method(10); } }
3. 重写方法含有多个参数的:
接口:
public interface Lambda{ public void method(int i,int j); }
测试:
public LambdaTest{ public static void main(String[] args) { Lambda it = (i,j) -> { System.out.println(i+j); } it.medthod(10,15); } }