Lamda初探

第一次看到lamda表达式,一头雾水,今天简单的分析下:

首先,lamda表达式一定符合函数式编程,即一个接口只有一个方法

 

 1  //定义满足函数式编程的接口
 2     //有返回值的eat
 3     public interface Eat{
 4         String eat(String food,String name);
 5     }
 6     //无返回值的drink
 7     public interface Drink{
 8         void drink(String food);
 9     }
10 
11     public static void main(String[] args) {
12         //1.原来实现接口需要这样写
13     /*class Ieat implements Eat{
14             @Override
15             public String eat(String food) {
16                 System.out.println("吃"+food+"ing...");
17                 return "吃后付款";
18             }
19         }*/
20         //2.现在,这样既可,下面注释这些全部不要,入参类型也可省略
21        /* class Ieat implements Eat{
22             @Override
23             public String eat*/
24         Eat eat=(food,name)->{
25             System.out.println(name+"吃"+food+"ing...");
26             return "吃后付款";
27         };
28         String res = eat.eat("油条","张三");
29         System.out.println(res);
30         //3.无返回值的Drink登场,与上面的做对比,如果->后面只有一个“;”既可省略"{}"
31         Drink drink=(food)->System.out.println("喝"+food+"ing...");
32         drink.drink("工业酒精");
33     }

 

posted @ 2020-04-09 23:08  RollBack2010  阅读(125)  评论(0编辑  收藏  举报