lad*_*ads 4 random enums scala
我有这样的枚举:
object Animals extends Enumeration {
type Animals = Value
val Monkey = Value("Monkey")
val Lion = Value("Lion")
val Dog = Value("Dog")
val Cat = Value("Cat")
}
Run Code Online (Sandbox Code Playgroud)
我需要从这个枚举中随机选择一个元素.我怎样才能在scala中有效地做到这一点?
不到一分钟的文档显示
final def maxId: Int
高于用于识别此枚举中的值的那些中的最高整数的那个.
和
final def apply(x: Int): Value
具有给定id x的此枚举的值
所以
Animals(scala.util.Random.nextInt(Animals.maxId))
//> res0: recursion.recursion.Animals.Value = Monkey
Run Code Online (Sandbox Code Playgroud)
(假设使用了所有值,并且您没有将初始值传递给构造函数)
或者您可以枚举值,Animals.values然后参考这个问题
| 归档时间: |
|
| 查看次数: |
859 次 |
| 最近记录: |