我曾尝试使用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 // the error
}
classes
}else ENTEleveClasses
错误:
Caused by: java.lang.NullPointerException
at comptesInvites.EleveENT$$anonfun$1.apply(EleveENT.scala:19)
at comptesInvites.EleveENT$$anonfun$1.apply(EleveENT.scala:16)
... 16 more
当我添加一个元素WrappedArray时发生错误
由于
答案 0 :(得分:1)
您应该始终尽量避免使用null
初始化变量,因为它会导致众多nullpointerExceptions
和can even damage a system as a whole。
您应该将WrappedArray
classes
初始化为
var classes:mutable.WrappedArray [String]= mutable.WrappedArray.empty[String]
答案 1 :(得分:0)
when I add an element a WrappedArray an Error occurred
您没有向WrappedArray添加元素,您需要向null值添加元素,这确实是不可能的,并生成NPE。
要向WrappedArray添加元素,您必须实际提供一个元素,因此使用var classes:WrappedArray [String]= null
代替var classes:WrappedArray [String]= new WrappedArray()
(我实际上并不确定WrappedArray的构造函数是什么,可能要改变这个!)