先来看写法:
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);
}
}