Array [Int]的元素更新仅在“ foreach”循环内有效
当退出循环时,数组返回到初始状态(在我的情况下为0)
我尝试了var和val两者..但是似乎没有用 但是奇怪的是,当我在循环中打印出一些日志时,会打印出更新的元素。
val df = DataFrame(columns : (a,b,c,d,e,f,g,h) )
//just an example, also has some null value
var arr = Array.fill[Int](df.columns.length)(0) // 8
print(arr)
// arr = (0,0,0,0,0,0,0,0)
df.foreach( x => {
var i = 0
while(i < df.columns.length) {
if(x.isNullAt(i) == true) arr(i) += 1
i++
}})
print(arr)
// arr = (0,0,0,0,0,0,0,0) <== ?????
(可能在语法上是错误的且效率低下,但是没关系。我只想向您展示一种情况)
循环前=> arr(0,0,0,0,0,0,0,0) afterloop => arr(0,0,0,0,0,0,0,0) 我想念这里吗? :(