请举几个具体在项目接口中使用BIConsumer的例子 其中有一个参数为类对象
时间: 2024-02-21 12:57:25 浏览: 63
好的,这里举几个具体的例子:
1. 使用BiConsumer对Map进行遍历并操作其中的元素:
```java
Map<String, Integer> map = new HashMap<>();
map.put("A", 1);
map.put("B", 2);
map.put("C", 3);
BiConsumer<String, Integer> biConsumer = (key, value) -> System.out.println(key + ": " + value);
map.forEach(biConsumer);
```
2. 使用BiConsumer对类对象进行修改:
```java
class Person {
private String name;
private int age;
public Person(String name, int age) {
this.name = name;
this.age = age;
}
public void setName(String name) {
this.name = name;
}
public void setAge(int age) {
this.age = age;
}
public void printInfo() {
System.out.println("Name: " + name + ", Age: " + age);
}
}
BiConsumer<Person, String> nameSetter = (person, name) -> person.setName(name);
BiConsumer<Person, Integer> ageSetter = (person, age) -> person.setAge(age);
Person person = new Person("Tom", 20);
nameSetter.andThen(ageSetter).accept(person, "Jerry", 21);
person.printInfo(); // Name: Jerry, Age: 21
```
以上是两个具体的例子,第一个是对Map进行遍历,第二个是对类对象进行修改。其中,第二个例子中的BiConsumer的第一个参数是Person类的对象,可以看到BiConsumer的第一个参数可以是类对象。
阅读全文