当前位置: 首页 > 面试题库 >

Java:检查枚举是否包含给定的字符串?

陶英纵
2023-03-14
问题内容

这是我的问题-我正在寻找(如果存在的话)等效于的枚举ArrayList.contains();

这是我的代码问题的一个示例:

enum choices {a1, a2, b1, b2};

if(choices.???(a1)}{
//do this
}

现在,我意识到,使用ArrayListof Strings是最好的方法,但是我必须通过其他地方的开关/案例来运行我的枚举内容。因此,我的问题。

假设这样的事情不存在,我该怎么做呢?


问题答案:

应该这样做:

public static boolean contains(String test) {

    for (Choice c : Choice.values()) {
        if (c.name().equals(test)) {
            return true;
        }
    }

    return false;
}

这样,您不必担心以后再添加其他枚举值,它们都已选中。

编辑: 如果枚举很大,则可以将值粘贴在HashSet中:

public static HashSet<String> getEnums() {

  HashSet<String> values = new HashSet<String>();

  for (Choice c : Choice.values()) {
      values.add(c.name());
  }

  return values;
}

然后,您可以做:values.contains("your string")返回true或false。



 类似资料:
  • 本文向大家介绍检查Java ArrayList是否包含给定项,包括了检查Java ArrayList是否包含给定项的使用技巧和注意事项,需要的朋友参考一下 java.util.ArrayList.contains()方法可用于检查Java ArrayList是否包含给定项。此方法具有单个参数,即测试了其在ArrayList中是否存在的项目。如果该项目在ArrayList中存在,则返回true;如果

  • “String”类型的参数不能分配给“Types”类型的参数。

  • 问题内容: 如何检查字符串是否包含\ n或换行符? 问题答案: 如果字符串是在同一程序中构造的,则建议使用以下命令: 但是,如果您指定使用\ n,则此驱动程序说明了如何做: 导致 回应您的评论: 结果是

  • 问题内容: 我正在编写一个程序,其中用户以以下格式输入字符串: 我需要检查字符串中是否有数字 然后只提取数字。 如果我使用或,则无论输入的内容是什么,程序都无法在字符串中找到数字,但是仅在只有数字的情况下才能使用。 我可以使用什么作为查找和提取的解决方案? 问题答案: 我使用的解决方案如下所示: 我确信这不是一个完美的解决方案,但它满足了我的需求。谢谢大家的帮助。:)

  • 问题内容: 这个想法是读取String并确认它不包含任何数字字符。因此,“ smith23”之类的内容将不被接受。 问题答案: 你想要什么?速度还是简单?为了提高速度,请选择基于循环的方法。为简单起见,请使用一种基于内衬RegEx的方法。 速度 简单

  • 我正在寻找一个运算符,它允许我检查字段的值是否包含某个字符串。 比如: 可能吗?