gpt4 book ai didi

java - Java 8:如何在列表内部的对象中获取特定值,而又不将流转换回列表并在第0个位置获取值?

转载 作者:行者123 更新时间:2023-12-01 11:12:00 25 4
gpt4 key购买 nike

我需要从relt值为href()的链接列表中的String返回值。

class Links{
String rel;
String href;
}

class 2{
List<Links> links
}

下面的代码正在这样做,但看起来并不酷
return links.stream().filter(d -> StringUtils.equalsIgnoreCase(d.getRel(), "Self")).collect(Collectors.toList()).get(0).getHref();

有什么方法可以直接从列表中获取 getHref而不是 converting it back to listget 0th element

最佳答案

是的,使用findFirst():

return links.stream()
.filter(d -> StringUtils.equalsIgnoreCase(d.getRel(), "Self"))
.findFirst() // returns an Optional<Links>
.map(Links::getHref) // returns an Optional<String>
.orElse(null); // returns String (either getHref of the found Links instance, or
// null if no instance passed the filter)

关于java - Java 8:如何在列表内部的对象中获取特定值,而又不将流转换回列表并在第0个位置获取值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59156670/

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