Scala匹配/比较枚举
发布时间:2020-12-16 09:56:16 所属栏目:安全 来源:网络整理
导读:我有一个枚举,我想在一个actor的模式匹配中使用.我没有得到我期望的东西,现在,我怀疑我错过了一些简单的东西. 我的枚举, object Ops extends Enumeration { val Create = Value("create") val Delete = Value("delete")} 然后,我从String创建一个Ops: val o
我有一个枚举,我想在一个actor的模式匹配中使用.我没有得到我期望的东西,现在,我怀疑我错过了一些简单的东西.
我的枚举, object Ops extends Enumeration { val Create = Value("create") val Delete = Value("delete") } 然后,我从String创建一个Ops: val op = Ops.valueOf("create") 在我的比赛中,我有: case (Ops.Create,...) 但是Ops.Create似乎不等于ops.valueOf(“create”) 前者只是一个原子’创造’而后者是一些(创造) 希望这是足够的信息让别人告诉我我错过了什么…… 谢谢 解决方法
如果您只是想获得Create的副本,那么您应该直接在代码中引用它:
val op = Ops.Create 但是如果你从字符串解析它,字符串可能包含垃圾,所以valueOf返回一个Option: val op1 = Ops.valueOf("create") // Some(Ops.Create) val op2 = Ops.valueOf("delete") // Some(Ops.Delete) val op3 = Ops.valueOf("aljeaw") // None 现在,在你的比赛中你可以随身携带Option [Ops.Value]并寻找: case(Some(Ops.Create),...) 并且你有垃圾的内置鲁棒性作为输入. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |