Java Lambda表达式

Lambda表达式

Lambda是一种函数式编程思想

面向对象: 创建对象调用方法,解决问题。

函数式编程思想:不关注过程,只关注结果。

面向对象式编写一个代码,如下

public static void main(String[] args){
    //面向对象式,创建一个线程,完成一个任务 
    // 创建一个任务r ,线程 t。
    MyRunnable r = new MyRunnable();
    Thread t = new Thread(r);
    t.start();
}
static class MyRunnable implements Runnable{
    @Override
    public void run(){
        System.out.println("输出一段文字");
    }
}

或者 匿名内部类

// 匿名内部类
public static void main(String[] args){
    // 只创建线程,任务 也是临时写下的,只要能完成目的就行。
    Thread t = new Thread(new Runnable(){
        @Override
        public void run(){
            System.out.println("输出一段文字");
        }
    });
    t.start;
}

函数式编程思想 不关心过程,只关注结果

public static void main(String[] args){
    Thread t = new Thread(() -> {System.out.println("输出一段文字");System.out.println("如果想执行多行代码,需要加';'号 ");});
    t.start();
}

举个从面向对象转向Lambda表达式的例子

实现一个方法,计算两个数的和。先正常进行创建一个完整的

//
public static void main(String[] args){
   //
   print(new MyMath(){
       @Override
       public int sum(int x,int y){
       	return 0;
       }
   },100,200);
}
//  输出结果  --- >   300

// 传入一个算术对象,给两个 int 值x,y
   public static void print(MyMath m, int x, int y){
       int num = m.sum(x,y);
       System.out.println("两数的和为:"+num);
   }
   // 自定义一个接口
   static interface MyMath{
       int sum(int x,int y);
   }

换成Lambda 表达式

解析一下:

  1. print();
  2. print((int x,int y) -> {}, 100 , 200); // int x, int y 是 Mymath 的sum 方法中的传入参数; 100,200 是 print方法中的 后两个参数
  3. print(int x,int y) ->{return x+y;},100,200); // return x+y; 是sum方法中执行的内容
//
public static void main(String[] args){
   print((int x,int y) -> {
       return x+y;
   },100,200);
}
// 输出 结果 -->300

// 传入一个算术对象,给两个 int 值x,y
public static void print(MyMath m, int x, int y){
   int num = m.sum(x,y);
   System.out.println("两数的和为:"+num);
}
// 自定义一个接口
static interface MyMath{
   int sum(int x,int y);
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值