函数式编程 lambda表达式

函数式编程 lambda表达式

 

从JDK1.8之后为了简化程序的开发,专门提供了lambda表达式的支持,可以简化编程中接口的复杂操作:

 

范例: 观察以下传统开发中的问题

public interface IMessage {

 

     public void send(String str);

}

 

package org.interfaces;

 

public class IMessageImpl implements IMessage{

 

     @Override

     public void send(String str) {

          // TODO Auto-generated method stub

          System.out.println("消息发送"+str);

     }

 

}

 

package org.interfaces;

 

public class Test {

 

    

     public static void main(String[] args) {

         

          IMessage  msg=new IMessageImpl();

         

          msg.send("hello");

     }

}

 

 

发现以上的传统开发,只是实现一个简单的功能同样也需要很多类的支持

 

接下来:使用lambda 表达式

public static void main(String[] args) {

         

          IMessage msg=(str)->{

              

               System.out.println("发送的消息"+str);

              

          } ;

         

          msg.send("hello");

     }

 

 

整个程序都变得很简单了,其实只用了一句话就完成功能输出,对于Lambda表达式也是存在限制的:

 

接口中只能存在一个方法 

 

Lambda表达式的格式:

 

1 方法没有参数: ()->{};

 

2 方法有参数 : (参数1,参数2 ,参数3)->{};

 

3 如果只有一行语句: (参数1,参数2 ,参数3)->语句;

 

 

范例: 没有参数的方式

 

public interface IMessage {

 

     public void send();

}

 

 

     public static void main(String[] args) {

         

          IMessage msg=()->{

              

               System.out.println("发送的消息");

              

          } ;

         

          msg.send();

     }

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值