【问题标题】:Short if statement usage短 if 语句用法
【发布时间】:2016-03-27 18:08:06
【问题描述】:

在python中我可以做到以下几点:

return x or y

my_function(x or y)

如果x != null 或不为空将返回或传递x 否则y

我的问题:

有办法在 java 中缩短 then
return x == null ? y : x

myFunction(x == null ? y : x)

【问题讨论】:

  • 你用的是什么python版本?
  • 我不确定我是否理解您的实际要求。
  • 我什至不确定x || yany python 版本中作为表达式是否有效,通常是x if x else y
  • @JoachimIsaksson,你是对的,它不是,这就是我问的原因
  • 但这仍然不能帮助我们弄清楚你在 Java 中的目标是什么 :)

标签: java python


【解决方案1】:

我认为三元法是最有效和最短的。但是,如果您想进一步缩短事情的时间,您可以根据您的情况创建一个通用的静态或非静态方法来验证这两个对象。然后只返回经过验证的方法,而不是三元条件。比如这样的事情。

//usage
Employee valid(Employee x, Employee y) {
    return v(x,y);
}

//generic method for validation
<T> T v(T o1, T o2) {
    return o1==null?o2:o1;
}

【讨论】:

    【解决方案2】:

    好的,我认为您想要做的是将结果值传递自

    x==null ? y : x

    作为函数的参数。

    我在 Stack Overflow 上找到了这个: Short IF - ELSE statement 。 也许这会有所帮助。

    简而言之:myFunction(x==null ? y : x);应该可以正常工作。

    【讨论】:

    • 是的,但我的问题是,它可以比 python 中的 myFunction(x==null ? y : x) 缩短
    猜你喜欢
    • 2016-03-26
    • 1970-01-01
    • 2021-08-20
    • 1970-01-01
    • 2012-07-05
    • 1970-01-01
    • 1970-01-01
    • 2012-04-25
    • 1970-01-01
    相关资源
    最近更新 更多