为 Scala 类创建一个空构造函数

Moj*_*ojo 1 constructor scala scala-java-interop

如果我有一个这样的案例类:

case class Foo(s : String, k : Int)
Run Code Online (Sandbox Code Playgroud)

如何为此指定一个空的构造函数?我需要这个的原因是因为我想将这个类的值传递给一个 Java API,它要求该类有一个空的构造函数。我是否为此指定默认值?我想我必须这样做,我别无选择。

Tim*_*Tim 5

您应该能够向 中添加一个新的构造函数case class

case class Foo(s : String, k : Int) {
  def this() = this("default", 0)
}

val foo = new Foo()
Run Code Online (Sandbox Code Playgroud)

感谢 Mario Galic 检查这是否在 Java 中创建了适当的构造函数。

  • 它似乎可以在我的机器上运行。`javap` 显示两个构造函数。 (4认同)