关于java:Java-8函数式接口之Function用法

3次阅读

共计 1111 个字符,预计需要花费 3 分钟才能阅读完成。

Function<T, R> 是 Java 8 中的一个函数式接口,用于示意承受一个输出参数 T,并返回一个后果 R 的函数。它定义了一个形象办法 R apply(T t),须要依据输出参数的类型来实现。


以下是 Function<T, R> 接口的用法示例:

import java.util.function.Function;

public class FunctionExample {public static void main(String[] args) {
        // 示例 1:将字符串转换为对应的整数
        Function<String, Integer> strToInt = Integer::parseInt;
        int num = strToInt.apply("123");
        System.out.println(num); // 输入: 123

        // 示例 2:将字符串转换为其长度
        Function<String, Integer> strLength = String::length;
        int length = strLength.apply("Hello World");
        System.out.println(length); // 输入: 11

        // 示例 3:组合多个函数
        Function<String, Integer> strToIntAndMultiplyBy2 = strToInt.andThen(n -> n * 2);
        int result = strToIntAndMultiplyBy2.apply("5");
        System.out.println(result); // 输入: 10
    }
}

在示例 1 中,咱们创立了一个 Function<String, Integer> 对象 strToInt,将其定义为 Integer::parseInt 办法的援用。该 Function 实例能够将传入的字符串解析为相应的整数。通过调用 apply 办法,并将字符串 “123” 作为参数传入,咱们能够失去整数后果 123。

在示例 2 中,咱们创立了一个 Function<String, Integer> 对象 strLength,将其定义为 String::length 办法的援用。该 Function 实例能够返回传入字符串的长度。通过调用 apply 办法,并将字符串 “Hello World” 作为参数传入,咱们能够失去字符串的长度 11。

在示例 3 中,咱们将两个函数 strToInt 和 n -> n * 2 进行组合。首先将字符串转换为整数,而后将后果乘以 2。通过调用 andThen 办法,咱们能够失去一个新的 Function 对象 strToIntAndMultiplyBy2,它将传入的字符串转换为整数并乘以 2。最终,通过调用 apply 办法,并将字符串 “5” 作为参数传入,咱们能够失去后果 10。

正文完
 0