Java 中的 LongFunction 接口


Java 中的 LongFunction 是一个函数式接口,它接受一个类型为 long 的参数并返回其他某种类型的结果。函数式接口是一个只包含一个抽象方法的接口。要使用此接口,首先必须导入 java.util.function 包。

此接口的函数方法是“apply()”,它接受 long 值作为参数并返回用 R 表示的函数结果。

语法

R apply(long value);

算法

为了有效地将此函数式接口实现到您的工作中,必须事先遵守三个定义步骤。

  • 首先,建立此类实现的实例需要定义一个合适的 lambda 表达式,该表达式在提供 long 类型变量或参数时准确地预览其在“apply”函数中的即将使用情况。

  • 完成此处步骤 1 中的特定算法设置后,继续执行步骤 2 - 在所述实例上调用“apply”,同时分别添加 long 类型的参数输入。一旦成功执行了步骤 1 和 2,我们的第三个也是最后一步就开始了 - 在我们正在进行的代码中,在可用区域中使用来自先前步骤的所有输出值。

方法 1:定义 Lambda 表达式

您可以定义一个 lambda 表达式来实现 LongFunction 的 apply(long value) 方法。接口。

示例

import java.util.function.LongFunction;
public class LongFunctionExample {
   public static void main(String[] args) {
      LongFunction<String> longToString = l -> Long.toString(l);
      String result = longToString.apply(123L);
      System.out.println(result);
   }
}

输出

123

解释

此代码创建一个 LongFunction它将 long 值转换为字符串

方法 2:使用方法引用

您可以使用方法引用来实现 LongFunction 的 apply(long value) 方法。.

示例

import java.util.function.LongFunction;
public class LongFunctionExample {
   public static void main(String[] args) {
      LongFunction<Integer> countDigits = Long::toString().length;
      int result = countDigits.apply(12345L);
      System.out.println(result);
   }
}

输出

12345

解释

创建了一个 LongFunction它返回 long 值中的数字位数。

方法 3:使用预定义函数

要使用实现 LongFunction 的预定义函数接口,您可以创建该接口的实例并将预定义函数作为 lambda 表达式或方法引用传递。

示例

import java.util.function.LongFunction;
public class LongFunctionExample {
   public static void main(String[] args) {
      LongFunction<Double> sqrt = Math::sqrt;
      double result = sqrt.apply(16L);
      System.out.println(result);
   }
}

输出

4.0

解释

在上面的 sqrt 预定义函数中,它实现了 LongFunction.

方法之间比较

标准

方法 1

方法 2

方法 3

类型

Lambda 表达式

方法引用

预定义函数

方法

apply(long value)

apply(long value)

apply(long value)

方法逻辑

返回一个 long 值

返回一个 long 值

返回一个 long 值

结论

有几种方法可用于促进您使用 LongFunction接口。这些方法允许您创建接受长值作为参数并生成各种类型输出的个性化函数。您可以在不同的场景中应用这些函数。从数据过滤到映射和集合缩减。

更新于: 2023年7月28日

101 次查看

启动您的 职业生涯

通过完成课程获得认证

开始
广告