Scala 将数组转换为WrappedArray
我尝试使用WrappedArray并将其初始化为nullScala 将数组转换为WrappedArray,scala,Scala,我尝试使用WrappedArray并将其初始化为null var classes:WrappedArray [String]= null var classe = ENTEleveClasses.apply(0) if(!classe.isEmpty()) { var cls = classe.split(",") for(c <- cls){ classes = classes :+ c //
var classes:WrappedArray [String]= null
var classe = ENTEleveClasses.apply(0)
if(!classe.isEmpty()) {
var cls = classe.split(",")
for(c <- cls){
classes = classes :+ c // the error
}
classes
}else ENTEleveClasses
当我添加一个WrappedArray元素时,发生了一个错误
谢谢
当我将一个元素添加到包装中时,出现了一个错误
您并没有将元素添加到WrappedArray,而是将元素添加到null值,这确实是不可能的,并生成一个NPE
要向WrappedArray添加元素,您必须实际提供一个元素,因此使用
var-classes:WrappedArray[String]=null
,而不是var-classes:WrappedArray[String]=new-WrappedArray()
(我不确定WrappedArray的构造函数是什么,您可能需要更改它!)您应该始终避免使用null
初始化变量,因为这会导致大量NullPointerException
和
您应该将WrappedArray
类初始化为
var classes:mutable.WrappedArray [String]= mutable.WrappedArray.empty[String]
谢谢@Ramesh,我删除了mutable,这样变量就变成了var类:WrappedArray[String]=WrappedArray.empty[String]我很高兴它帮助了你@MounirHamdane:)一次投票也会帮助我:)“甚至会破坏整个系统。”?@JosiahYoder
var classes:mutable.WrappedArray [String]= mutable.WrappedArray.empty[String]