没有ClassTag可用于T

aut*_*con 5 scala

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)
Run Code Online (Sandbox Code Playgroud)

从控制台接受此语句.但是在编译时会抛出以下错误:

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
Run Code Online (Sandbox Code Playgroud)

che*_*ohi 9

我想你想要这个:

class TestRDD[T](rdd: List[T])(implicit c: ClassTag[T]) extends JavaRDD(rdd)
Run Code Online (Sandbox Code Playgroud)

用于implicit自动隐含ClassTag通用T的.