更清洁的方式来编写代码片段

时间:2017-12-23 00:36:22

标签: java if-statement

我是java的新手,我想知道是否有更简单的方法来编写

if(a == 10 || b == 10){
    //stuff
}

在我看来,我尝试过这样的事情:

if(a||b == 10){
    //stuff
}

因为IMO具有很多直观意义,但它不是一件事。

5 个答案:

答案 0 :(得分:2)

如果你只是比较几个值,那么你也可以继续使用当前的方法,因为没有任何东西可以缩短它。但是,如果您多次重复自己,那么您可以创建一个辅助函数来为您完成工作。

static boolean anyMatch(int comparisonValue, int... elements){
        return Arrays.stream(elements)
                     .anyMatch(e -> e == comparisonValue);
}

然后这样称呼它:

if(anyMatch(10, a, b)){ ... }

答案 1 :(得分:1)

那不会像那样工作。您正在针对某个值检查两个变量的值,最终会进行两次检查if(a == 10 || b == 10)

但是,您可以将此检查修改为以下代码:

if(Arrays.asList(a,b).contains(10))

它会产生相同的行为,但这既不简短也不容易阅读。

答案 2 :(得分:0)

是的,事实证明,没有办法缩短它。

答案 3 :(得分:0)

不,我们不能这样做,因为在java的情况下,没有比较变量的选项。
即使你不能这样写

if(a||b){ //staff } 

但如果您愿意,那么您将收到此错误消息

  

错误:二元运算符'||'

的错误操作数类型

答案 4 :(得分:0)

不短,但更直接"可读:

boolean condA = (a == 10);
boolean condB = (b == 10);

if(condA || condA){
    //stuff
}

始终牢记,目标不是编写最短的可能代码,而是最佳可维护代码。