Java 中 ToIntFunction 接口及示例

2025年1月6日 | 3 分钟阅读

java.util.function 包于 Java 8 引入,其中包含 ToIntFunction 接口,该接口用于在语言中实现函数式编程。它表示一个接受 T 类型参数并输出整数值的函数。

此函数式接口只接受一个泛型,即

T: 表示操作的输入参数的类型。

ToIntFunction 类型的对象的 defineAsInt() 函数使用传递给它的 lambda 表达式,将其指定的操作应用于其单个参数。这类似于使用 Function<T, Integer> 类型的对象。ToIntFunction 接口只有一个函数,即 applyAsInt()。此方法将函数应用于给定的参数,并返回 int 类型的结果。接口的功能性操作方式如下。

语法

参数: 此方法接受的单个参数值是 T 类型的参数。

返回值: 此方法获得一个 int 值的返回结果。

示例 1

给定的程序演示了如何使用 Java java.util.function 库中的 ToIntFunction 接口。在 main 方法中,使用一个 lambda 表达式来实例化一个 ToIntFunction<String>,该表达式接受一个 String 并返回其长度。然后,将文本 "Hello, Welcome to the World!" 作为参数传递给 ToIntFunction 的 applyAsInt 方法,该方法确定并返回字符串的长度。最后,在控制台上显示字符串的长度,演示了如何使用 ToIntFunction 接口对字符串进行操作,从而得到整数结果。

实施

文件名: TolntExample1.java

输出

The length of the string is: 27

示例 2

给定的程序演示了如何使用 Java Streams 和 ToIntFunction 接口计算字符串列表的总长度。在 main 方法中创建了一个字符串列表。通过引用 String 类的 length 方法,定义了一个 ToIntFunction<String>,用于确定每个字符串的长度。接下来,程序使用 Java Streams 将列表中的每个字符串映射到其长度,然后将这些长度相加。最后,在控制台上显示所有字符串的总长度,展示了 ToIntFunction 与 Streams 结合用于此类聚合任务的有效性。

实施

文件名: TolntExample2.java

输出

The total length of all the given strings is : 24