【JavaSE】函数式接口

简介: 【JavaSE】函数式接口

一、函数式接口概述

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

注解:@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函数应用于结果

目录
相关文章
【JavaSE】详解final关键字
【JavaSE】详解final关键字
|
7月前
|
Java 开发者
Java一分钟之-Lambda表达式与函数式接口
【5月更文挑战第12天】Java 8引入的Lambda表达式简化了函数式编程,与函数式接口结合,实现了代码高效编写。本文介绍了Lambda的基本语法,如参数列表、箭头符号和函数体,并展示了如何使用Lambda实现`Runnable`接口。函数式接口仅有一个抽象方法,可与Lambda搭配使用。`@FunctionalInterface`注解用于确保接口具有单一抽象方法。文章还讨论了常见的问题和易错点,如非函数式接口、类型冲突以及Lambda表达式的局部变量可见性,并提供了避免这些问题的策略。通过理解Lambda和函数式接口,开发者能提高代码可读性和效率。
91 4
|
4月前
|
Java 编译器 开发者
Java中的Lambda表达式与函数式接口
【8月更文挑战第31天】本文将深入探讨Java 8中引入的Lambda表达式和函数式接口,它们如何改变我们编写代码的方式。通过简化集合操作、事件处理等示例,我们将看到这些特性如何提升代码可读性、减少冗余,并提高开发效率。准备好一起探索这个让Java编程更加简洁强大的新世界吧!
|
4月前
|
Java API 开发者
探索Java中的Lambda表达式和函数式接口
【8月更文挑战第8天】 在Java 8中引入的Lambda表达式,不仅简化了代码编写,也提高了程序的可读性和性能。本文将深入探讨Lambda表达式的工作原理以及如何通过函数式接口来实现更简洁、高效的编程模式。
32 2
|
6月前
|
Java API 数据处理
Java中的Lambda表达式和函数式接口
【6月更文挑战第29天】在Java的世界里,Lambda表达式的引入标志着编程范式的一次革新。它不仅简化了代码,还提高了开发效率。本文将通过探索Lambda表达式的本质、优势以及如何与函数式接口协同工作,带领读者理解这一特性的强大之处。我们将从基础概念出发,逐步深入到实际应用,揭示Lambda表达式如何让Java代码更加简洁、灵活。
40 3
|
7月前
|
存储
JavaSE&泛型
JavaSE&泛型
28 1
|
7月前
javaSE&多态
javaSE&多态
37 1
|
安全 Java
【JAVASE】多态 下
【JAVASE】多态
|
Java 编译器
【JavaSE】抽象类
【JavaSE】抽象类
【JavaSE】抽象类
【JavaSE】Java基础语法(十):构造方法
在面向对象编程的思想中,构造方法(Constructor)是一个特殊的函数,用于创建和初始化类的对象。构造方法通常与类名同名,在对象创建时自动调用,用于为对象属性赋初值,并进行其他必要的操作。 构造方法在不同编程语言中可能会有所不同,但常见的语言都支持构造方法的定义。