gpt4 book ai didi

java条件快捷方式

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

Possible Duplicate:
How to get the first non-null value in Java?

我有以下操作

function1(function2(param1,param2));

如果函数2返回null我希望将其替换为零。我可以通过多种方式做到这一点,但是有一些快捷方式吗?例如,有没有类似这样的内容

function1(function2(param1,param2)==null || "0")

注意:函数 2 返回一个字符串。

最佳答案

切换到 Guava 之前,我发现自己为每个项目编写了下面的函数。它可能已经在某个库中实现了。

<T> public static T coalesce(T... elements){
for(T element : elements) {
if (element != null) return element;
}
throw new NoSuchElementException();
}

// Usage:

function1(coalesce(function2(param1,param2), "default value"));

这很好,因为没有重复的代码,并且您不必在引入临时变量或执行相同的调用两次之间进行选择(就像之前建议的条件运算符 thingie 一样)。这不太好,因为它读起来不太流利。

如果您使用的是 Guava(您应该使用),则可以使用 Optionalavoid null ,这还有一个好处是可以让您的 API 更加清晰,并且不易出现 NullPointerException

void function1(String arg) {}
Optional<String> function2(){ /* insert code*/ }

// Usage:
function1(function2().or("default value"));

关于java条件快捷方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12610286/

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