Lambda表达式

Lambda表达式了解之前要先了解匿名内部类,有助于理解

Lambda表达式本身就是一个接口的实现

下面举几个例子:

无返回值的例子

public class Java8Tester {
   public static void main(String args[]){
        
      //具体描绘接口方法的实现
      GreetingService greetService2 = (message) ->
      System.out.println("Hello " + message);

      //传参并调用
      greetService2.sayMessage("Google");
   }
    
   //函数式接口(仅有一个未实现方法的接口,当然里面可有其他的static和default方法) 
   interface GreetingService {
      void sayMessage(String message);
   }
    
}
返回结果:Hello Google

有返回值的例子 

class test  
{
   public static void main(String args[]){

      GreetingService greetService1 = message ->
          "Hello " + message;

      String a = greetService1.sayMessage("Runoob");
      System.out.println(a);
   }
    
   interface GreetingService {
      String sayMessage(String message);  
   }
}
public class Java8Tester {
   public static void main(String args[]){
      Java8Tester tester = new Java8Tester();      
        
      // 不用类型声明
      //不加大括号有返回值的话直接用表达式返回
      MathOperation subtraction = (a, b) -> a - b;
        
      // 加上类型声明
      //加大括号的话注意如果有返回值需要用return
      MathOperation multiplication = (int a, int b) -> { return a * b; };

      System.out.println("10 - 5 = " + tester.operate(10, 5, subtraction));
      System.out.println("10 x 5 = " + tester.operate(10, 5, multiplication));       
   }
    
   interface MathOperation {
      int operation(int a, int b);
   }
    
   private int operate(int a, int b, MathOperation mathOperation){
      return mathOperation.operation(a, b);
   }
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值