随着语言不断进步,lambda来到了我们码农的手下!!
-
语法:
(参数列表)-> {方法体} “->” 叫做方法体 读作“goes to” -
简示:
public class LambdaTest {
public static void main(String[] args) {
NoParam noParam = () -> {
System.out.println("no param");
};
noParam.function();
TakeParam takeParam = (a, b) -> {
System.out.println("参数:" + a + " " + "b");
return 0;
};
takeParam.function(6, 7);
}
}
//无参数 无返回值
interface NoParam {
void function();
}
//带参数 有返回值
interface TakeParam {
int function(int a, int b);
}
- 说明:
上面代码使用了lambda简化写法,完整写法如下:
...............省略.....................
TakeParam takeParam = (int a, int b) -> {
System.out.println("参数:" + a + " " + "b");
return 0;
};
takeParam.function(6, 7);
............省略.............
- 常见案例如下
1 .线程
Thread thread = new Thread(() -> {
for (int i = 0; i < 5; i++) {
System.out.println(Thread.currentThread().getName() + " " + i);
}
});
thread.start();
2. 遍历集合
List<String> list = Arrays.asList("java", "python", "scala", "go");
list.forEach(System.out::println);
方法归属者::方法名 :指定实现方法