Lambda 获取实例中的两个字段值
时间: 2024-09-17 19:06:33 浏览: 39
在Java中,Lambda表达式通常用于函数式编程,它可以简洁地表示一个功能,而无需创建完整的匿名内部类。如果你想要在Lambda表达式中获取实例的两个字段值,你需要在Lambda的`capture`块中明确引用这两个字段,假设这两个字段分别为`field1`和`field2`。
```java
// 假设有一个Person类,有两个字段:name和age
class Person {
String name;
int age;
// 构造方法、getter和setter省略...
}
// 使用Lambda表达式并捕获实例字段
Function<Person, Pair<String, Integer>> getFields = person ->
new AbstractPair<>(person.name, person.age);
// 创建Person对象
Person p = new Person("Alice", 25);
// 调用Lambda表达式,此时它会访问p的name和age字段
Pair<String, Integer> fieldValues = getFields.apply(p);
```
在这个例子中,`getFields`是一个接受`Person`对象作为输入并返回包含姓名和年龄的`Pair`对象的函数。`apply(p)`调用时,`person.name`和`person.age`会被实际的对象`p`的值所替换。
阅读全文