java之lambda表达式


什么是lambda表达式

lambda是java8的新特性

支持将代码块作为方法的参数,使用更加简洁的代码来创建一个函数式接口的实例,所谓函数式接口就是只有一个方法的接口。

可以认为lambda表达式是创建匿名内部类的简化版。

回顾匿名内部类

public class Main {
    public static void main(String[] args) {
   // write your code here
      //局部类
    class Ilike3 implements like{
            @Override
            public void like() {
                System.out.println("i like 			qinjie");
            }
        }
        l=new Ilike3();
        l.like();
        //匿名内部类,new一个接口或父类
    like p=new like(){
        @Override
        public void like() {
            System.out.println("i like qinjie");
        }
    };
        p.like();

}
interface  like{
    void like();
}

使用lambda表达式

使用lambda表达式,简化匿名类,前提条件是那个接口是函数式接口,也就是只有一个方法的接口

如果方法只包含一个语句,就不需要写大括号

使用格式:(参数)->语句; 此时只能有一条语句

​ (参数)->{语句块}; 可以有多条语句

​ 可以不需要申明参数类型

public static void main(String[] args) {
            //使用lambda表达式,简化匿名类,前提条件是那个接口是函数式接口,也就是只有一个方法的接口
        // like p2=(参数)->System.out.println("i like qinjie");如果方法只包含一个语句,就不需要写大括号{}
        like p2=()->System.out.println("i like qinjie");
        p2.like();
        like p3=()->{
            System.out.println("i like qinjie");
            System.out.println("i like qinjie");
        };
        p3.like();
}
public static void main(String[] args) {
           like p2=(a)->System.out.println("i like qinjie"+a);
        p2.like(5);
        like p3=(int a)->{
            System.out.println("i like qinjie"+a);
            System.out.println("i like qinjie"+a);
        };
        p3.like(6);
    }
}
interface  like{
    void like(int a);
} 
}

运行结果:

image

原创文章,作者:bd101bd101,如若转载,请注明出处:https://blog.ytso.com/277746.html

(0)
上一篇 2022年7月29日
下一篇 2022年7月29日

相关推荐

发表回复

登录后才能评论