import org.apache.spark.api.java.JavaRDD
import org.apache.spark.rdd.RDD
import scala.reflect.ClassTag

class TestRDD[T: ClassTag](rdd: RDD[T]) extends JavaRDD(rdd)


从控制台接受该语句。但是,在编译时会引发以下错误:

No ClassTag available for T
[error] class TestRDD[T: ClassTag](rdd: RDD[T]) extends JavaRDD(rdd)
[error]                ^
[error] one error found
[error] (jobs/it:compileIncremental) Compilation failed

最佳答案

我想你想要这个:

class TestRDD[T](rdd: List[T])(implicit c: ClassTag[T]) extends JavaRDD(rdd)


使用implicit自动隐含通用T的ClassTag

09-05 20:10