我有以下部分代码,它给了我java.lang.NullPointerException
,我找到了源代码,我知道我声明了一个变量,但最初设置为null,后来在程序中初始化了它,但我不知道如何给出默认值而不会得到错误!列表接受两种不同的类型,Float
和RDD
。下面是代码中有问题的部分:
case class RPN (sc:SparkContext, vp: VolumeProperty, var stack:List[Either[RDD[(Int, Array[Float])],Float]]) {
def this(s:SparkContext,v:VolumeProperty) = this(s,v,null); //Think here is the problem
def operand(x: Either[RDD[(Int, Array[Float])],Float]) = new RPN(sc,vp,stack = x :: stack) //gives error on this line
和我得到以下错误:
Exception in thread "main" java.lang.NullPointerException
我怎么解决它!
用Nil
代替null
。Nil
为空列表