Java:如何知道字符串是否存在一个枚举?

Java:如何知道字符串是否存在一个枚举?,java,Java,和一个字符串作为 public enum OPERATORS { MUL("*"), ADD("+"), SUB("-"), DIV("/") } 假设在枚举中实现了getOperatorSymbol(),如何检查s是否有一个运算符 s = A2 B4 * C5 / 假设在枚举中实现了getOperatorSymbol() s = A2 B4 * C5 / 如何检查s是否有一个运算符 你必须以某种方式编码它。您正在搜索的字符串不是enum值的名称。它们存储在自定义属性中。因此,您必须手

和一个字符串作为

public enum OPERATORS {
  MUL("*"), ADD("+"), SUB("-"), DIV("/")
}
假设在枚举中实现了getOperatorSymbol(),如何检查
s
是否有一个
运算符

s = A2 B4 * C5 /
假设在枚举中实现了getOperatorSymbol()

s = A2 B4 * C5 /
如何检查s是否有一个运算符

你必须以某种方式编码它。您正在搜索的字符串不是
enum
值的名称。它们存储在自定义属性中。因此,您必须手动提取字符串,然后在目标字符串中搜索每个字符串

有多种方法可以做到这一点;e、 g

  • 您可以简单地在操作符枚举值上循环,提取每个操作符字符串并根据输入字符串进行测试;参见@pangea的答案

  • 您可以使用循环来构建一个与任何运算符字符串匹配的正则表达式,然后使用该正则表达式来匹配该字符串。如果性能是一个真正的问题,并且您可以分摊创建正则表达式的成本,那么这将是一个很好的方法;i、 只做一次,重复使用正则表达式多次。(但如果性能不是一个问题,那么这种方法的额外复杂性就没有必要了。)

如何检查s是否有一个运算符

你必须以某种方式编码它。您正在搜索的字符串不是
enum
值的名称。它们存储在自定义属性中。因此,您必须手动提取字符串,然后在目标字符串中搜索每个字符串

有多种方法可以做到这一点;e、 g

  • 您可以简单地在操作符枚举值上循环,提取每个操作符字符串并根据输入字符串进行测试;参见@pangea的答案

  • 您可以使用循环来构建一个与任何运算符字符串匹配的正则表达式,然后使用该正则表达式来匹配该字符串。如果性能是一个真正的问题,并且您可以分摊创建正则表达式的成本,那么这将是一个很好的方法;i、 只做一次,重复使用正则表达式多次。(但如果性能不是一个问题,那么这种方法的额外复杂性就没有必要了。)


向我们展示
enum
声明的其余部分。特别是保存枚举字符串值的属性的getter。是否只检查
s
是否包含一个
运算符?还是要将字符串解析为后缀数学表达式?向我们展示
enum
声明的其余部分。特别是保存枚举字符串值的属性的getter。是否只检查
s
是否包含一个
运算符?还是要将字符串解析为后缀数学表达式?