我真的不知道这个问题的标题是什么,花了10分钟,但这是我想出的最好的。
真正的问题是非常基本的,我想我知道答案。但是,与运算符condition ? true-statement : false-statement
一样,是否有这种if statement
的快捷方式?
if(intA == -1 || intB == -1 || intC == -1 || intD == -1 || intE == -1)
建议:可以在Java中添加类似的内容:
if((intA || intB || intC || intD || intE) == -1)
答案 0 :(得分:2)
不..没有。这些是具有不同值的不同变量。
建议:您可以考虑所有这些变量是否必要。如果所有这些变量都必要,就无法简化。
答案 1 :(得分:1)
Afaik,没有真正的快捷语法。也许你可以用逻辑和/或实现这一点做一些技巧,但我不建议这样做,因为它更难以阅读:
if (((intA | intB | intC) & -1) == -1)
您仍然可以将这些整数添加到集合中,并检查该集合中是否包含-1。
有趣的事实:在Python中,有一个用于比较变量和2个值的语法糖;你可以写 2< a< 3 ,这在Java中是不可能的。但就个人而言,我不知道一种语言,其中存在你所要求的语法糖。
答案 2 :(得分:1)
您应该为此目的使用列表。 对于前者 你可以实现功能
findFirstEquals(List, Int)
遍历列表,搜索等于第二个参数的第一个元素,如果找到则返回true。
在这种情况下,你的if就像是
intList = ArrayList<Int>()
// put 5, 6, 7,8 etc...
if findFirstEquals(intList, -1) ...
答案 3 :(得分:0)
您可以使用Switch()语句使其更加轻松,如下所示
public void myMethod(int intValue)
{
switch (intValue) {
case -1: //Your logic here ;
break;
case 1 : //Another condition
break;
default: //Default behaviour;
break;
}
}
调用方法myMethod(yourValue)
并将您的值传递给它。
传递你的整数值来切换它将根据你传递的值来处理它。
愿这对你有所帮助。