JDK8新特性——lambda表达式

随着语言不断进步,lambda来到了我们码农的手下!!

  1. 语法:
    (参数列表)-> {方法体} “->” 叫做方法体 读作“goes to”

  2. 简示:

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);
}
  1. 说明:
    上面代码使用了lambda简化写法,完整写法如下:
			...............省略.....................
        TakeParam takeParam = (int a, int b) -> {
     
            System.out.println("参数:" + a + "  " + "b");
            return 0;
        };
        takeParam.function(6, 7);
        	............省略.............
  1. 常见案例如下
    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);

方法归属者::方法名 :指定实现方法


你可能感兴趣的:(JDK8新特性——lambda表达式)