给定对案例类伴随对象的引用t
和一系列参数seq
,我如何调用案例类的新实例?
当我自己键入参数的编号时,我可以创建一个类。
scala> case class B(n:String,a:Int,b:Int)
defined class B
scala> val t:AnyRef = B
t: AnyRef = B
scala> val m = t.getClass.getMethods.filter{m => m.getName == "apply"}.
filterNot {_.getReturnType.getName == "java.lang.Object"}(0)
m: java.lang.reflect.Method = public B B$.apply(java.lang.String,int,int)
scala> m.invoke(t,"name",1:java.lang.Integer,2:java.lang.Integer)
res99: Object = B(name,1,2)
我无法解决的问题是使用一系列参数调用调用,例如Seq("name",1:java.lang.Integer,2:java.lang.Integer)
. 非常感谢任何帮助如何做到这一点。
我使用 scala 2.10.0。