加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – 检查我的枚举值中是否存在某些字符串而没有NoSuchEleme

发布时间:2020-12-16 08:51:59 所属栏目:安全 来源:网络整理
导读:我有以下代码: object Order extends Enumeration("asc","desc") { type OrderType = Value val asc,desc = Value } 我用它: val someStr:String = "someStr" val order = Order.withName(someStr) 这给了我输入字符串的枚举,但如果我发送字符串“asc1”我
我有以下代码:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读