java常用函数式接口
2021-06-07 12:02
标签:一个 tar method 长度 test 基本 nta turn app JDK提供了大量常用的函数式接口以丰富Lambda的典型使用场景,它们主要在 抽象方法 : 求数组元素最大值 使用 代码示例: 抽象方法: 意为消费一个指定泛型的数据。基本使用如: 抽象方法: 有时候我们需要对某种类型的数据进行判断,从而得到一个boolean值结果。这时可以使用 抽象方法: java常用函数式接口 标签:一个 tar method 长度 test 基本 nta turn app 原文地址:https://www.cnblogs.com/kehao/p/14584124.html常用函数式接口
java.util.function
包中被提供。,下面是最简单的几个接口及使用示例。Supplier接口
java.util.function.Supplier
接口,它意味着"供给" , 对应的Lambda表达式需要“对外提供”一个符合泛型类型的对象数据。T get()
用来获取一个泛型参数指定类型的对象数据。public class Demo08Supplier {
private static String getString(Supplier
Supplier
接口作为方法参数类型,通过Lambda表达式求出int数组中的最大值。
提示:接口的泛型请使用java.lang.Integer
类。public class DemoIntArray {
public static void main(String[] args) {
int[] array = { 10, 20, 100, 30, 40, 50 };
printMax(() -> {
int max = array[0];
for (int i = 1; i max) {
max = array[i];
}
}
return max;
});
}
private static void printMax(Supplier
Consumer接口
java.util.function.Consumer
接口则正好相反,它不是生产一个数据,而是消费一个数据,其数据类型由泛型参数决定。void accept(T t)
import java.util.function.Consumer;
public class Demo09Consumer {
private static void consumeString(Consumer
Function接口
java.util.function.Function
接口用来根据一个类型的数据得到另一个类型的数据,前者称为前置条件,后者称为后置条件。有进有出,所以称为“函数Function”。R apply(T t)
根据类型T的参数获取类型R的结果。使用的场景例如:将String
类型转换为Integer
类型。public class Demo11FunctionApply {
private static void method(Function
Predicate接口
java.util.function.Predicate
接口。boolean test(T t)
用于条件判断的场景,条件判断的标准是传入的Lambda表达式逻辑,只要字符串长度大于5则认为很长。public class Demo15PredicateTest {
private static void method(Predicate