java8 biconsumer使用示例
时间: 2023-06-28 09:03:52 浏览: 255
rx-java-examples:基于 Java 8 的 RxJava 示例
BiConsumer是一个函数式接口,它接受两个输入参数并不返回任何结果。下面是一个使用Java 8的BiConsumer的简单示例:
假设我们有一个名为Person的类,它具有两个属性:name和age。我们想要在控制台上打印出每个人的姓名和年龄。我们可以使用BiConsumer接口来实现这个功能,如下所示:
```java
import java.util.function.BiConsumer;
public class BiConsumerExample {
public static void main(String[] args) {
BiConsumer<Person, String> printName = (person, prefix) -> System.out.println(prefix + " " + person.getName());
BiConsumer<Person, Integer> printAge = (person, prefix) -> System.out.println(prefix + " " + person.getAge());
Person person1 = new Person("Alice", 25);
Person person2 = new Person("Bob", 30);
printName.andThen(printAge).accept(person1, "Person 1:");
printName.andThen(printAge).accept(person2, "Person 2:");
}
}
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public String getName() {
return name;
}
public int getAge() {
return age;
}
}
```
在上面的示例中,我们定义了两个BiConsumer实例:printName和printAge。printName将接受Person对象和一个前缀字符串,并打印出该人的姓名,printAge将接受Person对象和一个前缀字符串,并打印出该人的年龄。
我们创建了两个Person对象,person1和person2,然后使用andThen方法将两个BiConsumer实例链接起来,这样我们就可以一次性打印出每个人的姓名和年龄。最后,我们调用accept方法,将每个Person对象和前缀字符串传递给BiConsumer实例。
阅读全文