gpt4 book ai didi

java - 简洁地将 Optional.absent() 值传递给方法

转载 作者:太空狗 更新时间:2023-10-29 22:35:50 30 4
gpt4 key购买 nike

使用 Guava 的 Optional 类型作为方法参数的一个问题是你不能简单地写

// method declaration
public void foo(Optional<String> arg);

// compiler error
foo(Optional.absent());

由于类型推断失败但必须显式添加类型:

// real method call
foo(Optional.<String> absent());

如何避免?

最佳答案

如果您正在处理一小组 Optional<>类型(例如,主要是字符串或少数其他类型),只需创建一些辅助方法来为您绑定(bind)类型参数:

public final class AbsentValues {
public static Optional<String> absentString() {
return Optional.<String>absent();
}
}

您甚至可以静态导入这些以产生更清晰的代码:

import static AbsentValues.*;

...

foo(absentString());

对于不太常见的 Optional<>类型,只需明确指定类型参数。它可能不漂亮,但它是正确的。

关于java - 简洁地将 Optional.absent() 值传递给方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11757962/

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