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 次檢視

啟動您的 職業生涯

透過完成課程獲得認證

開始
廣告

© . All rights reserved.