首頁 >Java >java教程 >在Java中的LongFunction接口

在Java中的LongFunction接口

WBOY
WBOY轉載
2023-09-15 12:53:06929瀏覽

在Java中的LongFunction接口

Java 中的 LongFunction 是一種函數接口,它接受一個 long 類型的參數並返回某種其他類型的結果。函數式介面是一種只有一個抽象方法的介面。若要先使用此接口,您必須匯入 java.util.function 套件。

此介面的函數方法是“apply()”,它以 long 值作為參數,並傳回以 R 表示的函數結果。

文法

R apply(long value);

演算法

為了在您的工作中有效地實現此功能接口,必須事先遵守三個定義步驟。

  • 首先,為此類實作建立實例需要定義一個合適的 lambda 表達式,當提供長類型變數或參數時,該表達式可以準確地預覽其「apply」函數中即將使用的情況。

  • 透過此處的步驟 1 設定特定演算法後,繼續執行步驟 2 - 在所述實例上呼叫“apply”,同時分別加入長類型的參數輸入。一旦圓滿地執行了步驟 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 值轉換為 String

方法 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 值中的位數。

方法三:使用預定義函數

要使用實作 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

類型

Lamda表達式

#方法參考

預先定義函數

#方法

應用(長值)

#應用(長值)

#應用(長值)

#方法邏輯

傳回長值

#傳回長值

#傳回長值

#結論

有多種方法可以幫助您使用 LongFunction 介面。這些方法可讓您建立個人化函數,這些函數接受冗長的值作為參數並產生各種類型的輸出。您可以在不同的場景中應用這些功能。從資料過濾到映射和收集減少。

以上是在Java中的LongFunction接口的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除