如何實現 Function\n在 Java 中使用 Lambda 表示式介面?\n


**Function<T, R>** 介面是 **java.util.function** 包中的函式式介面。此介面期待將一個引數作為輸入,然後產生一個結果。**Function<T, R>** 介面可用作 **lambda 表示式** 或 **方法引用** 的分配目標。它包含一個抽象方法:**apply()**,兩個預設方法:**andThen()** 和 **compose()**,以及一個靜態方法:**identity()**。

語法

@FunctionalInterface
public interface Function<T, R> {
 R apply(T t);
}

示例

import java.util.function.Function;

public class FunctionTest {
   public static void main(String[] args) {
      Function<Integer, Integer> f1 = i -> i*4;   // lambda
      System.out.println(f1.apply(3));

      Function<Integer, Integer> f2 = i -> i+4; // lambda
      System.out.println(f2.apply(3));

      Function<String, Integer> f3 = s -> s.length(); // lambda
      System.out.println(f3.apply("Adithya"));

      System.out.println(f2.compose(f1).apply(3));
      System.out.println(f2.andThen(f1).apply(3));

      System.out.println(Function.identity().apply(10));
      System.out.println(Function.identity().apply("Adithya"));
   }
}

輸出

12
7
7
16
28
10
Adithya

更新於: 2020 年 7 月 14 日

2K+ 瀏覽

開啟您的 職業生涯

透過完成課程獲取認證

開始
廣告
© . All rights reserved.