如何在 Java 中使用 Lambda 來實現 LongUnaryOperator?


LongUnaryOperator  java.util.function 包中的一個函式式介面。此函式式介面接受一個單一的長整型運算元並生成一個長整型結果。LongUnaryOperator 介面可作為lambda 表示式 方法 引用的賦值目標。它包含一個抽象方法:applyAsLong(),一個靜態方法:identity(),以及兩個預設方法:andThen()compose()

語法

@FunctionalInterface
public interface LongUnaryOperator
 long applyAsLong(long operand);
}

示例

import java.util.function.LongUnaryOperator;

public class LongUnaryOperatorTest {
   public static void main(String args[]) {
      LongUnaryOperator getSquare = longValue -> {       // lambda
         long result = longValue * longValue;
         System.out.println("Getting square: " + result);
         return result;
      };
      LongUnaryOperator getNextValue = longValue -> {      // lambda
         long result = longValue + 1;
         System.out.println("Getting Next value: " + result);
         return result;
      };
      LongUnaryOperator getSquareOfNext = getSquare.andThen(getNextValue);
      LongUnaryOperator getNextOfSquare = getSquare.compose(getNextValue);

      long input = 10L;
      System.out.println("Input long value: " + input);
      System.out.println();

      long squareOfNext = getSquareOfNext.applyAsLong(input);
      System.out.println("Square of next value: " + squareOfNext);
      System.out.println();

      long nextOfSquare = getNextOfSquare.applyAsLong(input);
      System.out.println("Next to square of value: " + nextOfSquare);
   }
}

輸出

Input long value: 10

Getting square: 100
Getting Next value: 101
Square of next value: 101

Getting Next value: 11
Getting square: 121
Next to square of value: 121

更新日期:2020 年 7 月 14 日

163 次瀏覽

開啟您的職業生涯

完成課程即可獲得認證

開始學習
廣告