我在 spark-shell 或 scala-shell 中定义了 case 类,发现它的构造函数签名发生了变化,增加了一个额外的参数$iw
,那是什么?为什么会这样?此问题导致我无法通过其构造函数在反射中创建新实例
scala> case class People(id:Int, name: String)
class People
scala> classOf[People].getDeclaredConstructors.head
val res0: java.lang.reflect.Constructor[_] = public People($iw,int,java.lang.String)