美文网首页
Lambda表达式的格式

Lambda表达式的格式

作者: simit | 来源:发表于2019-01-25 13:34 被阅读0次

Lambda表达式本质上是一种语法糖,它支持函数式接口,即有且仅有一个抽象方法的接口,常用@FunctionalInterface标签标识。
Lambda表达式一般的写法是:

(参数) -> {返回值;}

1.抽象接口无参数无返回值:

@FunctionalInterface
    interface test1 {
        public void run();
    }
test1 t1 = () -> System.out.println("");

2.抽象接口只有一个参数:

  @FunctionalInterface
    interface test1 {
        public void run(String x);
    }
test1 t1 = (x) -> System.out.println("");

3.抽象接口只有一个参数时,参数的小括号可以省略:
第二点可以写成

 test1 t1 = x -> System.out.println("");

4.Lambda体只有一条语句时,return与大括号均可省略:

   @FunctionalInterface //该接口中只能定义一个方法
    interface test {
        public String run(String string);
    }


    static class Person {
        public String goWalking(String string) {
            return "";
        }
    }
test t = (x) -> { return new Person().goWalking(x);};

可以写成:

test t = (x) -> new Person().goWalking(x);

方法引用:
格式:对象(类):: 方法名
注意事项:
1.被引用的方法的参数列表和函数式接口中的抽象方法的参数一致
2.当接口的抽象方法没有返回值,引用的方法可以有返回值也可以没有返回值
3.接口中的抽象方法有返回值,引用的方法必须有相同类型的返回值
方法引用:其实就是用一个接口的子类对象去接受方法引用返回的对象,此时只需要保证接口方法的参数和返回值必须和调用方法的返回值和参数一致。

 @FunctionalInterface //该接口中只能定义一个方法
    interface test {
        public String run(String string);
    }
//定义一个对象
  class Person {
//引用方法的参数和返回值和抽象方法一致
        public String goWalking(String string) {
            return "";
        }
    }

Lambda写法:

        Person person = new Person();
        //获取接口的子类对象
        test t2 = person::goWalking;
        System.out.println(t2.run("对象"));

转变为正常写法:

        Person person = new Person();
        test t2 = new test() {
            @Override
            public String run(String string) {
                return person.goWalking(string);
            }
        };
        System.out.println(t2.run("对象"));

相关文章

  • lambda表达式和map(),reduce(),filter(

    lambda 表达式 lambda 表达式的语法格式如下: 从上面的语法格式可以看出 lambda 表达式的几个要...

  • Lambda

    一、表达式 1.1 Lambda表达式格式: 1.2 有效的Lambda表达式 1.3 Lambda示例 二、函数...

  • Kotlin函数式编程 (2)✔️Lambda表达式

    Lambda 表达式标准语法格式使用Lambda 表达式Lambda 表达式简化写法✔️参数类型推导简化✔️使用尾...

  • 2020-07-04【Lambda】

    Lambda标准格式 Lambda省略模式 Lambda注意事项 Lambda表达式和匿名内部类的区别

  • 2019-02-03——Java8 Lambda

    一.认识Lambda Lambda表达式专门针对只有一个方法的接口(即函数式接口) lambda表达式的基本格式为...

  • java8特性总结

    Lambda 表达式格式 伪代码如下 我们常常使用的匿名内部类如上 使用Lambda 表达式改写后如下 原理 @F...

  • JDK8之Lambda表达式

    Lambda表达式 Lambda表达式介绍 举例: lambda表达式语法 lambda表达式中的this概念 L...

  • Lambda表达式

    Lambda表达式 >> Lambda表达式和高阶方法Lambda表达式是一种匿名方法的表示方式。Lambda表达...

  • java8利用lambda表达式来封装jedis的连接池资源

    lambda表达式 什么是lambda? “Lambda 表达式”(lambda expression)是一个匿名...

  • Java8新特性

    Lambda表达式 示例 语法格式1.无参数无返回值,Lambda箭头操作符' -> ',左边表示参数列表,右边为...

网友评论

      本文标题:Lambda表达式的格式

      本文链接:https://www.haomeiwen.com/subject/yqnmdqtx.html