如何从 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 的自动完成功能没有给我任何帮助。
最佳答案
呃。一定要吗? B 和 C ClassTag 被添加到隐式参数列表中(在显式参数之前),因此您可以添加使用 scala.reflect.ClassTag 对象生成的适当参数。但它会很难看。
类似(未经测试):
mult(rdd1, rdd2, scala.reflect.ClassTag.apply(B.class), scala.reflect.ClassTag.apply(C.class), myMult);
关于java - 从 Java 调用 Scala 泛型方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30789580/