[英]Call Scala generic method from Java
How can I call the following Scala method from Java? 如何从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))
Is it possible? 可能吗? Eclipse isn't giving me any help from its autocomplete.
Eclipse的自动完成功能并没有给我任何帮助。
Ugh. 啊。 Must you?
一定要吗 The B and C ClassTags are added to the list of implicit parameters (before the explicit ones), so you can add appropriate ones generated with the
scala.reflect.ClassTag
object. B和C ClassTag添加到隐式参数列表中(在显式参数之前),因此您可以添加使用
scala.reflect.ClassTag
对象生成的适当scala.reflect.ClassTag
。 But it's going to be ugly. 但这将是丑陋的。
Something like (untested): 像(未经测试的):
mult(rdd1, rdd2, scala.reflect.ClassTag.apply(B.class), scala.reflect.ClassTag.apply(C.class), myMult);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.