如何在 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.