【JavaWeb】函数式接口(学习笔记)

2023-12-28 13:38:41

一、函数式接口概述

定义:有且只有一个抽象方法

注解:@FunctionalInterface

函数式接口作为参数:Lambda表达式作为参数传递

函数式接口作为返回值:Lambda表达式作为结果返回

二、Supplier接口

Supplier<T>:结果供应商

指定类型,就能get此类型的值

方法:T get()

public static void main(String[] args) {
    int i = doSupplier(()->123);
    System.out.println(i);
}

public static int doSupplier(Supplier<Integer> s) {
    return s.get() + 321;
}

三、Consumer接口

Consumer<T>:消费型接口

方法:
void accept(T t):执行操作
andThen(...):组合操作

public static void main(String[] args) {
        doConsumer("wmh",System.out::println);
}
public static void doConsumer(String name, Consumer<String> con){
    con.accept(name);
}

四、Predicate接口

Predicate <T>

方法:
boolean test(T t):对给定的参数进行判断(判断逻辑由Lambda表达式实现,返回布尔值
negate(): 返回一个逻辑的否定,对应逻辑非
and(Predicate other):返回一个组合判断,对应短路与
or(Predicate other):返回一个组合判断,对应短路或

五、Function接口

Function<T,R>

通常用于对参数进行处理,转换(处理逻辑由Lambda表达式实现),然后返回一个新的值

方法:
Rapply(T t):将此函数应用于给定的参数
default <V> Function andThen(Function after):返回一个组合函数,首先将该函数应用于输入,然后将after函数应用于结果

文章来源:https://blog.csdn.net/wmh1024/article/details/135211391
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。