美文网首页收藏
函数式编程

函数式编程

作者: 喏喏2021 | 来源:发表于2022-02-05 21:30 被阅读0次

1. lambda表达式

格式:
(参数)->表达式
(参数)->{语句;}
示例

()->0 //无参,有返回值
()->System.out.println("lambda") //有参,有返回值
(a)->0;//有参,有返回值
(a)->System.out.println(a)//有参,无返回值
(a)->System.out::println //当只有一个参数时,调用println静态方法
(a)->{System.out.println(a);System.out.println(a);} //有参,无返回值,多个语句
(a,b)->0 //多参数,有返回值
(a,b)->System.out.println(a+b)//有参,无返回值

函数式接口

函数式接口:有仅只有一个抽象方法的接口。
我们可以看一下jdk中现有的:

@FunctionalInterface
public interface Runnable {
    /**
     * When an object implementing interface <code>Runnable</code> is used
     * to create a thread, starting the thread causes the object's
     * <code>run</code> method to be called in that separately executing
     * thread.
     * <p>
     * The general contract of the method <code>run</code> is that it may
     * take any action whatsoever.
     *
     * @see     java.lang.Thread#run()
     */
    public abstract void run();
}

这里我们看到线程相关的Runnable就是一个函数式接口,
而我们上面讲的lambda表达式,就是针对函数式接口的适用类型
最简单的方式,由lambda表达式表示就是下面的样子,当然这里我们什么都没做

Runnable r = ()->{};

也就是说,lambda表达式可用于函数式接口的实例化。
注:

  1. 当然我们的接口,有且只有一个方法时,也是可以用lambda表达式的,可以不用@FunctionalInterface这个注解
  2. 加上这个@FunctionalInterface注解时,编译器会检查是否只有一个方法,有多个方法时,编译器会直接报错提示

相关文章

  • RxSwift初探(1)

    一、前提:函数响应式编程思想 简单来说 函数响应式编程 = 函数式编程 + 响应式编程 (1)函数式 函数式编程是...

  • iOS 函数编程 & 链式编程

    函数式(链式)编程 函数式编程概念 函数式编程是种编程范式 函数式编程 Functional Programmin...

  • 函数式编程(一)—— 前置知识

    为什么要学函数式编程? 什么是函数式编程?函数式编程和面向对象编程的不同对于函数式编程思维方式的理解: 函数式编程...

  • 二十二、函数式编程、面向协议式编程

    函数式编程(Functional Prigramming) 函数式编程 函数式编程(Functional Prig...

  • Python中的函数式编程

    函数式编程 说到函数式编程,我们的重点在于为什么要采用函数式编程,而不是什么是函数式编程。 函数式编程的优点:一、...

  • RxSwift-初探

    函数响应式编程 一:函数式 函数式编程简称FP(Functional Programming),函数式编程就是一种...

  • 《Kotlin入门实战》CH5 | 函数与函数式编程

    函数与函数式编程 函数式编程与命令式编程最大的不同是:函数式编程的焦点在于数据的映射,命令式编程(imperati...

  • 函数响应式编程思想 & RxSwift 核心逻辑(一)

    函数响应式编程思想 函数响应式编程思想即是将函数式编程和响应式编程相结合。 函数式编程 顾名思义,就是像函数一样的...

  • RxJava系列|RxJava简介(一)

    函数响应式编程 函数式编程是一种编程范式。 常见的编程范式有:命令式编程、函数式编程和逻辑式编程。 面向对象就是一...

  • 了解C# 函数式编程

    什么是函数式编程 函数式编程是一种编程范式,维基百科对函数式编程定义如下: 函数式编程(英语:functional...

网友评论

    本文标题:函数式编程

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