如何在 Java 中使用 lambda 和方法引用來實現 IntConsumer?


IntConsumer 介面是 java.util.function 包中 Java 8 中的一個函式介面。此介面將單個 int 值作為輸入值,但不會產生任何輸出值。由於它是一個函式介面,因此可將其用作 lambda 表示式方法引用的賦值目標。它包含一個抽象方法:accept()和一個預設方法:andThen()

語法

@FunctionalInterface
public interface IntConsumer {
   void accept(int value);
}

Lambda 表示式的示例

import java.util.function.IntConsumer;

public class IntConsumerTest1 {
   public static void main(String[] args) {
      IntConsumer displayNextInt = i -> System.out.println("Next Int Value: " + (i+1));  // lambda
      IntConsumer displaySquare = i -> System.out.println("Int Square Value: " + (i*i)); // lambda
      IntConsumer displayBoth = displayNextInt.andThen(displaySquare);
      displayBoth.accept(25);
   }
}

輸出

Next Int Value: 26
Int Square Value: 625


方法引用的示例

import java.util.function.IntConsumer;

public class IntConsumerTest2 {
   public static void main(String[] args) {
      IntConsumer consumer = IntConsumerTest2::print; // method reference
      consumer.accept(77);
   }
   static void print(int i) {
      System.out.println(i);
   }
}

輸出

77

更新於: 2020 年 7 月 14 日

278 次瀏覽

開啟您的 職業生涯

完成課程以獲得認證

開始
廣告
© . All rights reserved.