gpt4 book ai didi

java - 我们可以像Optional(ifPresent和orElse)一样在Java8中采用 boolean 值吗

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

使用 Java8,可以做到这一点:

Optional.ofNullable(realResult).orElse(mockResult);

而不是:

if(realResult == null)
return mockResult;
return realResult;
<小时/>

问题:我们可以将 boolean 值转换为 java8 吗?或者换句话说,我们可以写这样的东西:

Boolean.valueOf(boolVar).ifTrue(trueResult).orElse(falseResult);

而不是:

if(boolVar)
return trueResult;
return falseResult;

编辑#1感谢您建议三元运算,仍然想知道我们是否可以?

最佳答案

使用语言中已包含的三元运算符怎么样?

boolVar ? trueResult : falseResult

编辑:如果你真的想要这样的类(class),那就是这样的:

public class Conditional<T> {

private final boolean condition;
private T valueWhenTrue;

public static Conditional valueOf(boolean condition) {
return new Conditional(condition);
}

private Conditional(boolean condition) {
this.condition = condition;
}

public Conditional ifTrue(T valueWhenTrue) {
this.valueWhenTrue = valueWhenTrue;
return this;
}

public T orElse(T valueWhenFalse) {
return condition ? valueWhenTrue : valueWhenFalse;
}
}

用法:

Conditional.valueOf(boolVar).ifTrue(trueResult).orElse(falseResult)

关于java - 我们可以像Optional(ifPresent和orElse)一样在Java8中采用 boolean 值吗,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45797504/

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