gpt4 book ai didi

java - 类型不匹配 : cannot convert from Optional to BasketDTO
转载 作者:搜寻专家 更新时间:2023-11-01 02:56:51 29 4
gpt4 key购买 nike

我有以下 Java 11 代码,但 Eclipse 显示错误 Type mismatch: cannot convert from Optional<Object> to BasketDTO

    public BasketDTO findBasket(String key) {
return Optional.ofNullable(key).map(basketRepository::findOneByKey)
.map(b -> b.map(BasketDTO::new).orElseGet(() -> new BasketDTO()));
}

Optional<BasketModel> findOneByKey(String key){
}

最佳答案

因为 basketRepository::findOneByKey 返回一个 Optional,你可以使用 Optional#flatMap 而不是 Optional#map 这样您就不必担心嵌套的 Optional:

public BasketDTO findBasket(String key) {
return Optional.ofNullable(key) // Optional<String>
.flatMap(basketRepository::findOneByKey) // Optional<BasketModel>
.map(BasketDTO::new) // b -> new BasketDTO(b)
.orElseGet(BasketDTO::new); // () -> new BasketDTO()
}

关于java - 类型不匹配 : cannot convert from Optional<Object> to BasketDTO,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55642341/

29 4 0