gpt4 book ai didi

java8 : method reference from another method reference

转载 作者:太空狗 更新时间:2023-10-29 22:55:14 24 4
gpt4 key购买 nike

我想使用基于另一个方法引用的方法引用。这有点难以解释,所以我给你举个例子:

Person.java

public class Person{
Person sibling;
int age;

public Person(int age){
this.age = age;
}

public void setSibling(Person p){
this.sibling = p;
}

public Person getSibling(){
return sibling;
}

public int getAge(){
return age;
}
}

给定一个 Person 列表,我想使用方法引用来获取他们 sibling 的年龄列表。我知道可以这样做:

roster.stream().map(p -> p.getSibling().getAge()).collect(Collectors.toList());

但我想知道是否可以更像这样:

roster.stream().map(Person::getSibling::getAge).collect(Collectors.toList());

在这个例子中它不是很有用,我只是想知道什么是可能的。

最佳答案

您需要使用两个 map这种情况下的操作:

roster.stream().map(Person::getSibling).map(Person::getAge).collect(Collectors.toList());

第一个将 Person 映射到它的兄弟,第二个将 Person 映射到它的年龄。

关于java8 : method reference from another method reference,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36205859/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com