这能做到吗?
final case class C[A] (v: A) {
def this() = this(true)
}
当用给定的构造函数构造时,C 自动是 C[Boolean]。这个版本不能编译,但感觉它应该以某种方式可行,特别是因为以下似乎有效:
final case class C[A] (v: A = true)
我想要一些 Java 互操作性,所以我尽量避免使用默认值。我认为我可以通过在伴随对象中使用工厂方法来实现这一点,但可以直接完成吗?由于 C 是一个 case 类,因此工厂方法有点麻烦恕我直言。
最佳答案
出什么问题了
object C{
def apply() = C(true)
}
这样您就可以使用伴随对象?在 Java 中,这将是,
C$.apply()
不?
关于scala - 替代构造函数中的固定类型参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21912797/