0
点赞
收藏
分享

微信扫一扫

浅学lamada表达式&函数式接口

ZSACH 2022-03-21 阅读 78
java

浅学lamada表达式&函数式接口

一、 lamada简介

二、语法格式

(参数) ->表达式
		或者
(参数) -> {语句; } 

代码实列讲解

public class java1 {
    public static void main(String[] args) {
        Runnable r1 = new Runnable() {
            @Override
            public void run() {
                System.out.println("我是笑霸final");
            }
        };
        r1.run();
        System.out.println("/*******************lamada重写*********************/");
        Runnable r2= () -> System.out.println("支持笑霸final");
        r2.run();
    }

结果:在这里插入图片描述
代码分析
在这里插入图片描述

三、浅看使用方式

使用方式1 无参、无返回值

这种方式就是上面的列题的方式;
在这里插入图片描述

使用方式2 需要一个参数、无返回值

在这里插入图片描述

使用方式3 数据省略类型

public class LamadaTest1 {
    public static void main(String[] args) {
        Consumer<String> t=(s)-> {
            System.out.println(s);
        };
        t.accept("类型推断");
    }
}

在这里插入图片描述

使用方式4 小括号省略式

public class LamadaTest1 {
    public static void main(String[] args) {
        Consumer<String> t= s -> {
              System.out.println(s);
          };
         t.accept("类型推断,小括号可以省略");
    }
}

在这里插入图片描述

使用方式5 多个参数,有返回值

public class LamadaTest1 {
    public static void main(String[] args) {
        Comparator<Integer> T= (t1,t2) -> {
            System.out.println(t1);
            System.out.println(t2);
            return t1.compareTo(t2);
        };
        System.out.println(T.compare(10, 12));

    }
}

在这里插入图片描述

使用方式6 省略return

public class LamadaTest1 {
    public static void main(String[] args) {
        Comparator<Integer> T= (t1,t2) -> t1.compareTo(t2);
        System.out.println(T.compare(10, 12));
    }
}

在这里插入图片描述

四、总结,引出函数式接口

五、函数式接口

5.1自己写函数式接口

@FunctionalInterface
interface my{
    void method1();
}

@FunctionalInterface只是检验作用
写好后 我们就可以自己写lamada表达式了

public class LamadaTest1 {
    public static void main(String[] args) {
        my my=()-> System.out.println("自己的函数式接口");
        my.method1();
    }
}

在这里插入图片描述

5.2Java内置四大核心函数式接口

在这里插入图片描述

举报

相关推荐

0 条评论