什么是「;“价值”;在Scala枚举类中?
我是scala新手,正在阅读本页()中的Enum类 我有两个问题:什么是「;“价值”;在Scala枚举类中?,scala,class,Scala,Class,我是scala新手,正在阅读本页()中的Enum类 我有两个问题: 在工作日的定义中,周一、周二、周三、周四、周五、周六、周日的“值”是多少 在定义了对象WeekDay之后,为什么我们需要在这里使用“import WeekDay.ux” 谢谢大家! 来自scala文档 对Value方法的每次调用都会向枚举添加一个新的唯一值。为了便于访问,这些值通常被定义为枚举的val成员 所以Mon、Tue、Wed、Thu、Fri、Sat、Sun只是简单的值,每个值都通过调用名为Value的函数来实例化(请参
Mon、Tue、Wed、Thu、Fri、Sat、Sun
只是简单的值,每个值都通过调用名为Value
的函数来实例化(请参阅)
重要的是,
Value
不是Scala关键字。这是枚举
上的一个普通方法,它正是我们所需要的。如果不是标准库提供的,我们可以自己编写。此外,虽然很少使用,但您可以在Scala中执行类似val a,b=new StringBuilder()
的操作,并且a
和b
将不同StringBuilder
s。这是Scala 2中枚举类的valx,Y,Z=Value所使用的特性。没有人真正使用它,人们倾向于使用第三方库,比如enumeratum,甚至Java enums。所以不要在这上面花费太多精力。好消息:Scala 3改进了枚举,效果更好。