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:我猜这台电脑上输入的不是“-”连接的字符串。这个-符号要看清楚,有稍短一点儿的也有稍长一点的,要确定输入对了
