如何从Java调用以下Scala方法?
def mult[A,B: ClassTag,C: ClassTag](rdd1:RDD[A], rdd2:RDD[B])(implicit multiplier: Multiplier[A,B,C]): RDD[C] =
rdd1.zip(rdd2).map(p => multiplier.multiply(p._1, p._2))
有可能吗? Eclipse并没有从其自动完成功能中获得任何帮助。
答案 0 :(得分:2)
唉。你好吗? B和C ClassTag被添加到隐式参数列表中(在显式参数之前),因此您可以添加使用scala.reflect.ClassTag
对象生成的适当参数。但它会很难看。
像(未经测试)的东西:
mult(rdd1, rdd2, scala.reflect.ClassTag.apply(B.class), scala.reflect.ClassTag.apply(C.class), myMult);