Lambda java8-使用功能接口替换消费者或供应商
既然消费者/供应商/谓词/一元运算符只是函数的一个特例,我如何用函数替换这些接口 T->Function->R T->Consumer->null 空->供应商->T T->谓词->布尔 T->一元运算符->T null&boolean只是T的一个特例。所以我编写了两个案例,使用函数替换谓词和一元运算符 例如:Lambda java8-使用功能接口替换消费者或供应商,lambda,java-8,Lambda,Java 8,既然消费者/供应商/谓词/一元运算符只是函数的一个特例,我如何用函数替换这些接口 T->Function->R T->Consumer->null 空->供应商->T T->谓词->布尔 T->一元运算符->T null&boolean只是T的一个特例。所以我编写了两个案例,使用函数替换谓词和一元运算符 例如: private static void replacePredicate() { Function<String, Boolean> func = x -> x
private static void replacePredicate() {
Function<String, Boolean> func = x -> x.startsWith("a");
Predicate<String> pre = x -> x.startsWith("a");
System.out.println(func.apply("ape"));
System.out.println(pre.test("ape"));
}
private static void replaceUnaryOperator() {
Function<Integer, Integer> func = x -> x * 2;
UnaryOperator<Integer> uo = x -> x * 2;
System.out.println(func.apply(6));
System.out.println(uo.apply(6));
}
但我怎样才能用功能来取代消费者或供应商呢?例如,我想替换Consumer,但代码类似于函数func=x->System.out.printlnx;这是违法的
任何建议都将不胜感激~消费者可以将其视为一种功能。供应商可以被视为一种功能。您必须从编写为函数的使用者处返回null,并从编写为函数的供应商处获取并忽略Void作为参数
不过,我不确定我是否明白这一点。消费者可以被视为一种功能。供应商可以被视为一种功能。您必须从编写为函数的使用者处返回null,并从编写为函数的供应商处获取并忽略Void作为参数
不过,我不确定我是否理解了这一点。为什么要这样做?在生产环境中编码时,我不会用Function替换java.util.Function中的任何其他函数,因为使用特定函数比使用Function更方便。然而,通过发现这些函数的本质,我认为我可以更好地理解这些函数,并在实践中更好地使用它们在生产环境中编码时,我不会用函数替换java.util.Function中的任何其他函数,因为使用特定函数比使用函数更方便。然而,通过发现这些函数的本质,我认为我可以更好地理解这些函数,并在实践中更好地使用它们D