知识就是力量

当前位置:首页 > 技巧


java学习:java8新特性之一,函数式接口

2022-12-10

java方法函数

功能接口只是具有一种方法的普通接口。

函数式接口可以隐式转换为 lambda 表达式。

功能接口可以支持对现有功能友好的lambdas。

JDK 1.8 之前的现有功能接口:

java方法函数

JDK 1.8新增函数接口:

java.util.function 它包含许多支持 Java 函数式编程的类。这个包中的功能接口是:

序号 接口说明

1个

双消费者

表示接受两个输入参数且不返回任何结果的操作

2个

双函数

表示接受两个输入参数并返回结果的方法

3个

二元运算符

表示对两个相同类型的运算符进行运算并返回与运算符相同类型的结果的操作

4个

双谓词

表示一个布尔值方法,有两个参数

5个

布尔供应商

表示布尔值结果的提供者

6个

消费者

表示接受一个输入参数且不返回任何内容的操作

7

双二进制运算符

表示对两个双值运算符进行运算并返回双值结果的运算。

8个

双消费者

表示采用双值参数且不返回任何结果的操作。

9

双功能

表示接受双精度值参数并返回结果的方法

10

双谓词

表示具有双参数的布尔方法

11

双供应商

代表双值结构的提供者

12

DoubleToIntFunction

接受double类型的输入,返回int类型的结果。

13

双长函数

接受 double 类型输入并返回 long 类型结果

14

双元运算符

它接受一个同类型double的参数,返回值类型也是double。

15

功能

接受输入参数并返回结果。

16

整数二进制运算符

它接受两个相同类型int的参数,返回值类型也是int。

17

消费者

接受 int 类型的输入参数并且不返回任何值。

18

内部函数

接受一个int类型的输入参数并返回一个结果。

19

Int谓词

: 接受一个 int 输入参数并返回一个 boolean 结果。

20

国际供应商

无参数,返回int类型结果。

二十一

IntToDoubleFunction

接受一个int类型的输入,返回一个double类型的结果。

二十二

IntToLong函数

接受一个int类型的输入,返回一个long类型的结果。

java方法函数

23

整数一元运算符

它接受一个同类型int的参数,返回值类型也是int。

24

长二进制运算符

它接受两个相同类型的参数long,返回值类型也是long。

25

长消费者

接受 long 类型的输入参数并且不返回任何值。

26

长函数

接受一个 long 类型的输入参数并返回一个结果。

27

长谓词

R 接受一个 long 输入参数并返回一个 boolean 类型的结果。

28

长供应商

没有参数,返回一个 long 类型的值。

29

LongToDoubleFunction

接受 long 类型输入并返回 double 类型结果。

30

LongToInt函数

接受long类型输入,返回int类型结果。

31

长一元运算符

它接受一个也是long类型的参数,返回值类型也是long。

32

ObjDoubleConsumer

接受一个对象类型和一个双精度类型的输入参数,并且不返回任何值。

33

对象对象消费者

接受一个object类型和一个int类型的入参,没有返回值。

34

ObjLongConsumer

接受一个对象类型和一个long类型的输入参数,并且没有返回值。

35

谓词

接受一个输入参数并返回一个布尔结果。

36

供应商

没有参数,返回一个结果。

37

ToDoubleBi函数

接受两个输入参数,返回一个double类型的结果

38

双重功能

接受一个输入参数并返回一个double类型的结果

39

ToIntBi函数

接受两个输入参数,返回一个int类型的结果。

40

ToInt函数

接受一个输入参数,返回一个int类型的结果。

41

ToLongBi函数

接受两个输入参数并返回一个long类型的结果。

42

ToLong函数

接受一个输入参数并返回一个 long 类型的结果。

43

一元运算符

接受类型 T 的参数并返回类型 T 的值。

java方法函数

功能接口实例

Predicate 接口是一个函数式接口,它接受一个输入参数 T 并返回一个布尔结果。

该接口包含多种默认方法java方法函数,用于将 Predicates 组合成其他复杂逻辑(例如:and、or、not)。

此接口用于测试对象是真还是假。

我们可以通过下面的例子(Java8Tester.java)来理解函数式接口Predicate的使用:

执行上面的脚本,输出为:

这些新的学习方法个人推荐:从官方文档入手,最好从java.util.stream开始,因为这里的接口大部分在流的操作中都会用到java方法函数,官方文档给出了一些简单但有效的例子,结合文档讲解,可以很好的理解这些全新的接口。

这篇文章结束了,我们喝杯咖啡吧!

java方法函数