gpt4 book ai didi

intellij-idea - Java 8循环推断警告

转载 作者:行者123 更新时间:2023-12-03 08:41:03 24 4
gpt4 key购买 nike

我对列表操作的了解来自脚本语言。因此,在Java中,如果发现具有特定名称的cookie,我会停止一些奇怪的事情。

List<Cookie> cookies = Arrays.asList(request.getCookies());
String auth = cookies.stream()
.filter(c -> c.getName().equals("auth"))
.map(Cookie::getValue);

map方法上,IntelliJ向我显示“循环推断”。

Java compiler Error:(52, 25) java: incompatible types: no instance(s) of type variable(s) R exist so that java.util.stream.Stream conforms to java.lang.String

最佳答案

您当前的代码返回一个Stream<String>,因此您需要执行一个额外的步骤来返回一个字符串:

Optional<String> auth = cookies.stream()
.filter(c -> c.getName().equals("auth"))
.map(Cookie::getValue)
.findAny();

请注意,它返回 Optional<String>,因为可能没有与“auth”匹配的Cookie。如果未找到“auth”时要使用默认值,则可以使用:
String auth = cookies.stream()
.filter(c -> c.getName().equals("auth"))
.map(Cookie::getValue)
.findAny().orElse("");

关于intellij-idea - Java 8循环推断警告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26422166/

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