Java 8 BiConsumer,BiFunction和BiPredicate示例
在此页面上,我们将学习Java 8
BiConsumer
,BiFunction
和BiPredicate
功能接口。
这三个接口都接受两个参数。
BiConsumer
不返回任何值,而是执行定义的操作。
BiFunction
返回一个值。
我们在声明BiFunction
时为其定义数据类型。
BiPredicate
执行定义的操作并返回布尔值。
在我们的代码中找到有关如何使用这些功能接口的示例。
BiConsumer
java.util.function.BiConsumer
是一个Java 8
功能接口。
BiConsumer
不返回值,它接受两个参数作为参数。
BiConsumer
的功能方法是accept(Object, Object)
。
此方法执行BiConsumer
定义的操作。
在我们的示例中,我们声明了一个BiConsumer
,它将仅打印两个参数的值。
为此,我们制作了一个具有两个参数键和值的Map
。
我们将在BiConsumer
的帮助下打印map的值。
BiConsumerDemo.java
import java.util.HashMap;
import java.util.Map;
import java.util.function.BiConsumer;
public class BiConsumerDemo {
public static void main(String[] args) {
Map<Integer,String> map = new HashMap<>();
map.put(1, "A");
map.put(2, "B");
map.put(3, "C");
BiConsumer<Integer,String> biConsumer = (key,value) ->
System.out.println("Key:"+ key+" Value:"+ value);
map.forEach(biConsumer);
}
}
输出
Key:1 Value:A
Key:2 Value:B
Key:3 Value:C
BiFunction
java.util.function.BiFunction
是功能接口。
BiFunction
接受两个参数并返回一个值。
在声明BiFunction
时,我们需要告诉我们将传递什么类型的参数以及什么是返回类型。
我们可以对这两个值应用业务逻辑并返回结果。
BiFunction
的函数方法为apply(T t, U u)
,它接受两个参数。
BiFunctionDemo.java
import java.util.function.BiFunction;
public class BiFunctionDemo {
public static void main(String[] args) {
BiFunction<Integer, Integer, String> biFunction = (num1, num2) -> "Result:" +(num1 + num2);
System.out.println(biFunction.apply(20,25));
}
}
输出
Result:45
BiPredicate
java.util.function.BiPredicate
是一个功能接口,它接受两个参数并返回布尔值。
对作为参数传递的值应用业务逻辑,并返回布尔值。
BiPredicate
的功能方法是test(Object, Object)
。
查找有关如何使用BiPredicate
的简单示例。
BiPredicateDemo.java
import java.util.function.BiPredicate;
public class BiPredicateDemo {
public static void main(String[] args){
BiPredicate<Integer, String> condition = (i,s)-> i>20 && s.startsWith("R");
System.out.println(condition.test(10,"Ram"));
System.out.println(condition.test(30,"Shyam"));
System.out.println(condition.test(30,"Ram"));
}
}
输出
false
false
true