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