作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
在 Java 工作了很长时间后,我开始对 Scala 产生兴趣。
作为一个学习项目,我试图复制一个从数据库中存储和检索状态对象的 java 库。
为此,我希望能够像这样指定一个状态对象:
@PersistName("PERSON") case class Person extends Entity {
@Persist var id:Long = -1
@Persist @MaxLength(80) var firstName = ""
@Persist @MaxLength(80) var lastName = ""
@Persist var gender = Gender.Male
@Persist @MaxLength(80) var userName = ""
@Persist @OptionClass(classOf[Date]) var birthDay:Option[Date] = None
}
object Gender extends Enumeration {
type Gender = Value
val Male,Female,Unknown = Value
}
最佳答案
Scala 的 Enumeration 很有趣,但 case 类通常比它有优势:
sealed class Gender
case object Male extends Gender
case object Female extends Gender
match
能够,如果您测试一种性别而不是另一种性别,Scala 甚至会提示。而且,它似乎更容易解决您的问题。 :-)
关于reflection - Scala 枚举和反射,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1213399/
我是一名优秀的程序员,十分优秀!