【问题标题】:How to add multiple conditions in one equality condition? [duplicate]如何在一个相等条件中添加多个条件? [复制]
【发布时间】:2018-03-23 12:58:01
【问题描述】:

我想知道如何在一个相等条件中添加多个条件。例如这里如何为 x 指定多个等式。(x == (1 || 2 || 3))。这是我尝试过但不起作用的方法。

【问题讨论】:

  • 使用if(x == 1 || x == 2 || x == 3)。这也是一个你可以简单地用谷歌搜索而不适合 StackOverflow 的问题。

标签: java


【解决方案1】:

您可以使用if(x == 1 || x == 2 || x == 3) 或使用switch

switch(x) {
    case 1:
    case 2:
    case 3:
        // do something
        break;

    default: // it's not 1, 2 nor 3
        // do other things
}

【讨论】:

    【解决方案2】:
    if (Set.of(1, 2, 3).contains(x)) { // Java 9
    
    if (Arrays.asList(1, 2, 3).contains(x)) { // <= Java 8
    

    这似乎是x is in the set {1, 2, 3} 的合适模式。

    【讨论】:

    • 胡?这个答案与问题有什么关系?我没有得到什么吗?为什么这被赞成?如果没有给出任何解释,我看不出这是如何回答问题的。
    • @Ben x == (1 || 2 || 3) 有点像x in {1, 2, 3}的元素)。在 java 中,我经常看到丑陋的 Arrays.asList 被用于此目的。
    • 那么为什么这肯定是相似的,我不认为只是在没有任何解释的情况下将其粘贴在这里是一个很好的答案,更不用说数字甚至与问题的数字不匹配。
    • @Ben 我明白了。谢谢会添加文字。
    【解决方案3】:

    如果按照你想要的方向,你有两种方法:

    1. if(x == 1 || x == 2 || x == 3) { ... }
    
    2. if(x.equals(1) || x.equals(2) || x.equals(3)) { ... } // better
    

    例如,您可以阅读有关Java here 的更多信息。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-11-05
      相关资源
      最近更新 更多