假设我定义了以下案例类:
case class A(x: Int, y: String, s: Double)
我希望能够通过反射动态调用复制方法来实现以下内容:
val a1 = A(1, "hello", 2.3)
val a2 = a1.copy(y = "goodbye") // Do this with reflection???
是否可以通过反射进行复制?
由于 Des
答案 0 :(得分:2)
目前,Scala的运行时反射库并没有提供一种方便的方法来调用带有命名/默认参数的方法。当用户在声明顺序中为所有参数显式提供参数时,当前API仅允许对方法进行反射调用。请将问题提交给我们的错误跟踪器,我们很乐意对其进行调查。