我在 scala 中编写一个序列化程序,将对象(或模型)保存到数据库(用于应用程序引擎),我需要将某些字段视为特殊情况。例如,如果该字段的类型为 Array[Byte],我将其保存为一个 blob。我也需要将枚举视为特殊情况,但我不知道如何知道一个类型是否为枚举。
例如:
object UserType extends Enumeration {
val Anonym, Registered, Admin, Super = Value
}
var value = UserType.Admin
value.isInstanceOf[Enumeration] // this returns false
value.isInstanceOf[Enumeration.Value]
我也做不到,因为 Value 是私有(private)的...无论如何我认为这也会返回 false。
有什么想法吗?
谢谢!
最佳答案
value.isInstanceOf[Enumeration$Value]
关于reflection - Scala:如何知道一个类是否是一个枚举; isInstanceOf[Enumeration] 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1691865/