gpt4 book ai didi

java - 不存在类型变量 U 的实例,因此 Optional 符合 Response

转载 作者:塔克拉玛干 更新时间:2023-11-03 04:24:34 28 4
gpt4 key购买 nike

我有以下内容:

Optional<Resource> updatedResource = update(resourceID, data);

if (updatedResource.isPresent()) {
return Response.status(Response.Status.OK).entity(updatedResource.get()).build();
}

我想避免 isPresentget如果可能的话打电话,所以我试过了

return update(resourceID, data).map(updatedResource -> Response.status(Response.Status.OK).entity(updatedResource).build();

但 IntelliJ 向我显示以下错误:

No instance(s) of type variable(s) U exist so that Optional<U> conforms to Response

为什么我会收到此错误,有没有办法避免它并避免 isPresentget

最佳答案

根据错误,你的方法的返回类型是Response .然而,update(resourceID, data).map(updatedResource -> Response.status(Response.Status.OK).entity(updatedResource).build())返回 Optional<U> ,因此您必须将返回类型更改为 Optional<Response> .

所以这个方法看起来像这样:

public Optional<Response> yourMethod (...) {
return update(resourceID, data).map(updatedResource -> Response.status(Response.Status.OK).entity(updatedResource).build());
}

或者,如果您不想更改返回类型,请添加 orElse调用,指定一个默认值:

public Response yourMethod (...) {
return update(resourceID, data).map(updatedResource -> Response.status(Response.Status.OK).entity(updatedResource).build()).orElse(defaultValue);
}

关于java - 不存在类型变量 U 的实例,因此 Optional<U> 符合 Response,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48784899/

28 4 0