gpt4 book ai didi

java - 如何利用可选的 lambda 表达式

转载 作者:行者123 更新时间:2023-11-29 07:27:22 24 4
gpt4 key购买 nike

我正在尝试找到一种干净且代码高效的方法来在可选的 Guava 中应用转换方法来创建对象,我正在使用 Java 8 和 Guava。

在代码的一个地方,我有一个可选的 created 。 Optional<Object> optional = Optional.of(objFromDatabase)

在另一个领域,我试图用这个可选对象创建一个新对象。我能想到的最好的事情是

    if (optional.isPresent()) {
Object obj = optional.get();
NewObject newObj = obj.createNewObj(); //throws IOException, newobj to be returned
} else { throw new IOException() }

但这很麻烦,我希望能学到更多关于可选值和 lambda 表达式的知识。

有什么好的想法吗?

最佳答案

没有人真正给出代码答案,所以这是一个。

首先,创建一个映射对象并处理已检查异常的方法(通过将其包装在未检查异常中)。

private NewObject uncheckedCreateNewObject(Object o) {
try {
return o.createNewObject();
} catch (IOException e) {
throw new UncheckedIOException(e);
}
}

然后,做一个法线贴图:

NewObject newObject = Optional.of(objFromDatabase).toJavaUtil()
.map(this::uncheckedCreateNewObject)
.orElseThrow(IOException::new);

关于java - 如何利用可选的 lambda 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49233142/

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