检查Scala枚举中的值是否存在于一系列字符串中



我有这样的枚举:

object VersionTokens extends Enumeration {
  type VersionTokens = Value
  val ALL = Value("ALL")
  val CURRENT = Value("CURRENT")
}

是否有一种方法可以检查枚举中的任何值是否存在于字符串中?

伪代码:

val versions = Array("CURRENT", "SOMETHING ELSE")
if(versions.contains(VersionTokens)) true
else false
// should return true since "CURRENT exists in the enumeration

,例如,您可以检查枚举的值集是否与您的数组相交:

VersionTokens.values.map(_.toString).toArray.intersect(versions).nonEmpty

或不太可读但更快:

VersionTokens.values.map(_.toString).toArray.exists(versions.contains)

相关内容

最新更新