gpt4 book ai didi

scala - 检查我的枚举值中是否存在某些字符串,而没有NoSuchElement异常

转载 作者:行者123 更新时间:2023-12-04 09:05:18 30 4
gpt4 key购买 nike

我有以下代码:

object Order extends Enumeration("asc", "desc") {
type OrderType = Value
val asc, desc = Value
}

我用它:
  val someStr:String = "someStr"
val order = Order.withName(someStr)

这给了我输入字符串的枚举,但是如果我发送字符串“asc1”,则会出现异常:
NoSuchElementException: None.get (ProductRequest.scala

我的问题是-我可以迭代值并检查字符串是否存在吗?这样我可以抛出更好的详细异常。

我以为我可以迭代Order.values->但找不到有用的东西

谢谢

最佳答案

您可以将枚举定义为:

object Order extends Enumeration {
type OrderType = Value
val asc = Value("asc")
val desc = Value("desc")

def isOrderType(s: String) = values.exists(_.toString == s)
}

并使用它:
Order.isOrderType("asc")  //> res0: Boolean = true
Order.isOrderType("foo") //> res1: Boolean = false

关于scala - 检查我的枚举值中是否存在某些字符串,而没有NoSuchElement异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22589426/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com