如何在 Java 中使用 Lambda 表达式实现 Function<T, R> 接口?

java 8object oriented programmingprogramming更新于 2025/4/23 12:07:17

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

相关文章