java - 从 Java 调用 Scala 泛型方法

标签 java scala

如何从 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/

相关文章:

list - Scala:为什么不赞成使用remove来支持remove?

Scala 名称混淆调用

java - 更新 SQLiteChange 上的 View

java - 从 JXDatePicker 获取时间

java - PushAsync 导航上的 Xamarin Forms 'DrawerLayout must be measured with MeasureSpec.EXACTLY.' 错误

scala - 如何将值元组与函数元组结合起来?

java - Hibernate 使用注释将多表映射到一张表

java - onDateSet 不会从平板电脑上的 DatePickerDialog 调用

android - 在 Android 上使用 SubCut (Scala DI)

带管道的 Scala 进程