在程式運行程序中出現二維陣列取值為null的情況
MainActivity.Pieces 正常有值
MainActivity.Pieces[i] 正常有值
MainActivity.Pieces[i][j] 為空
令人費解的是,MainActivity.Pieces[i][j]也不是每次都取不到值,除錯時,第一次有時可以取到正確的值,但第二次肯定不行
i=0,j=0時
uj5u.com熱心網友回復:
有就是有,沒有就是沒有。一個陣列或者集合有沒有值取決于有沒有人向里面添加值。
沒有人添加值,你當然取不出來了,這有什么問題?
有空指標例外那是你沒做判斷的原因,你都不檢查資料長度就直接取值,那就有可能拋例外。
從陣列或者集合取資料前檢查長度是java編程的基礎操作,望題主養成好的編碼習慣
uj5u.com熱心網友回復:
[i][j]沒有賦值唄uj5u.com熱心網友回復:
有值啊,圖片中debug里所有陣列的值都能顯示出來,[i]取值都正常,但[i][j]取值就為null,除錯時還不總是null,但絕大多數時為null
這個東西用語法解釋不清,懷疑是底層代碼的問題
實在找不到辦法,只能把代碼全都重寫一遍了
uj5u.com熱心網友回復:
你可以將代碼發出來看看uj5u.com熱心網友回復:
你先別急著懷疑底層代碼,要是連這么簡單的需求都滿足不了,java語言也就沒有什么繼續存在的必要了。
我只能說到這里了,你提供的資訊不多,我也不好分析問題你那個二維陣列取出null的原因。
如果繼續分析,你需要描述你要做什么,然后看看你打的日志。
底層沒有問題
uj5u.com熱心網友回復:
Pieces不是你自己創建出來的嗎?哪里修改了自己找,i、j是如何遍歷的,毛都沒說我們會算嗎?順便問你個問題:NullPintException,求大神就我啊,趕緊救我。
uj5u.com熱心網友回復:
拉倒吧,寫個二維陣列還底層問題,有點逗。把你代碼發出來看看,到底是什么問題轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/104152.html
標籤:Android
