java - 數組溢出問題,在自己電腦上面不報錯,在別人電腦上面報錯
問題描述
我將每條數據進行分割,之后在我的電腦上面運行沒有問題,但是把代碼遷移到別人的電腦上面就報了數組溢出的問題。我要進行分割的是這樣的數據:nf-000001。以中間的'-'作為分割的界限,把數據分成'nf'和'000001'。代碼
for(int i=1;i<rsRows;i++){String originNum=null;Cell cell=readsheet.getCell(column,i);originNum=cell.getContents();//獲得數據“nf-000001”String[] numGoods=originNum.split('-');//數據進行分割list.add(numGoods[1]);//講分割的后半部分添加在一個Array<String> list中 }
錯誤提示:圖片中160行就是報的list.add(numGoods[1])這個語句的錯誤,我看他說是數組溢出,然而在我的電腦上面沒有出現這個問題,很奇怪,求大神相助!!
問題解答
回答1:打個斷點,調試下不就知道,數組越界,打印下rsRows里面是否有沒有-的情況,你在numGoods[1]前,為了代碼健壯性起碼得檢查下數組的長度吧。
回答2:給出的相關信息太少了...
回答3:分割后判斷一下numGoods數組長度,可能是numGoods素組長度小于2。
回答4:我猜這臺電腦上輸入的不是“-”連接的字符串。這個-符號要看清楚,有稍短一點兒的也有稍長一點的,要確定輸入對了
