首頁  >  文章  >  Java  >  在Java中的LongToIntFunction接口

在Java中的LongToIntFunction接口

王林
王林轉載
2023-09-07 16:29:16748瀏覽

在Java中的LongToIntFunction接口

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

此介面的功能方法是“applyAsInt()”,它以 long 值作為參數並傳回 int 值結果。

文法

int applyAsInt(long value);

演算法

要實作此功能接口,請依照下列步驟操作 -

  • 第 1 步 - 透過定義實作 applyAsInt(long value) 方法的 lambda 表達式來建立函數介面的實例。

  • 第 2 步 - 在功能介面實例上呼叫 applyAsInt(long value) 方法,傳入一個 long 值作為輸入。

  • 第 3 步 - 根據需要在程式碼中使用 applyAsInt(long value) 方法的輸出。

方法 1:定義 Lambda 表達式

您可以定義一個 lambda 表達式來實作 LongToIntFunction 介面的 apply(long value) 方法。

範例

import java.util.function.LongToIntFunction;
public class LambdaExample {
   public static void main(String[] args) {
      LongToIntFunction square = value -> (int) (value * value);
      int result = square.applyAsInt(5L);
      System.out.println(result);
   }
}

輸出

25

說明

LongToIntFunction 實例 square 傳回輸入 long 值 5L 的平方,即 25。

方法 2:使用方法參考

您可以使用方法參考來實作 LongToIntFunction 的 applyAsInt(long value) 方法。

範例

import java.util.function.LongToIntFunction;
public class MethodReferenceExample {
   public static void main(String[] args) {
      LongToIntFunction digitCount = String::valueOf;
      int result = digitCount.applyAsInt(9876543210L);
      System.out.println(result);
   }
}

輸出

31

說明

我們使用對 String 類別的 valueOf 方法的方法來引用建立一個名為 digitalCount 的 LongToIntFunction 實例。為了達到所需的結果,此技術涉及將長值輸入轉換為字串表示形式,然後計算其長度並將其作為整數傳回。然後,我們在輸入 long 值 9876543210L 的 digitalCount 實例上呼叫 applyAsInt 方法,該方法以 int 形式傳回 long 值中的位數。結果列印到控制台。

方法3:使用匿名內部類別

範例

import java.util.function.LongToIntFunction;
public class AnonymousClassExample {
   public static void main(String[] args) {
      LongToIntFunction binaryLength = new LongToIntFunction() {
         @Override
         public int applyAsInt(long value) {
            return Long.toBinaryString(value).length();
         }
      };
      int result = binaryLength.applyAsInt(123456789L);
      System.out.println(result);
   }
}

輸出

27

說明

在本例中,LongToIntFunction實例digitCount傳回輸入long值9876543210L中的位數,即10。結果列印到控制台。

方法之間的比較

標準

方法 1

#方法2

方法3

類型

Lamda表達式

#方法參考

匿名內部類別

#方法

applyAsInt(長值)

applyAsInt(長值)

applyAsInt(長值)

方法邏輯

傳回一個int值

#傳回一個int值

#傳回一個int值

#結論

透過使用這些方法,您可以透過多種方式使用 LongAsIntFunction 介面來實現將長值作為輸入並傳回不同類型結果的自訂函數。

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

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