gpt4 book ai didi

scala - 覆盖Scala枚举值

转载 作者:行者123 更新时间:2023-12-03 08:56:31 26 4
gpt4 key购买 nike

据我所知,Scala为Enumeration Value类定义了Value(Int),Value(String)和Value(Int,String)。

有谁知道创建新的Value子类以支持其他构造函数的示例?

例如,如果我想用Value(Int,String,String)对象创建一个枚举,我该怎么做?我想要使​​用Enumeration类的所有其他好处。

谢谢。

最佳答案

枚举值是Val类的实例。可以扩展此类,并可以添加工厂方法。

object My extends Enumeration {
val A = Value("name", "x")
val B = Value("other", "y")
class MyVal(name: String, val x : String) extends Val(nextId, name)
protected final def Value(name: String, x : String): MyVal = new MyVal(name, x)
}

scala> My.B.id
res0: Int = 1

scala> My.B.x
res1: String = y

关于scala - 覆盖Scala枚举值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2507273/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com