java空指针异常
(position不等于0)String temp[] = new String[15];
if (position!=0){
for (int i=0; i < 15; i++) {
temp[i] = ss[i] + ": "+ ss[(position) * 15 + i].replaceAll(" ", "");
}
}
这怎么就产生空指针异常了呢?求救啊 各位大神…… --------------------编程问答-------------------- 我猜是这句异常了 --------------------编程问答-------------------- ss 是什么? --------------------编程问答-------------------- debug看看吧!这谁能看出来,上下程序都没有。可能ss[(position) * 15 + i]是空的 --------------------编程问答-------------------- 呵呵,有机会再来看看 --------------------编程问答-------------------- .replaceAll(" ", "");
去掉就不报了!!! --------------------编程问答-------------------- ss[(position) * 15 + i]
ss数组中,下标:(position) * 15 + i 的数据是空的 --------------------编程问答-------------------- 代码没帖全。。。。 --------------------编程问答--------------------
因为如果为数组中元素为null是可以用拼在字符串后面的. --------------------编程问答--------------------
如果你这个是null,之后你replaceAll肯定是异常
建议都住debug as运行,自己调试下 --------------------编程问答-------------------- ss[(position) * 15 + i] 是null,所以replace发生异常。 --------------------编程问答--------------------
null+"" 结果为 "null"
我倒觉得他写错了,异常应该为下标越界啊.
--------------------编程问答-------------------- 你的程序也不全啊.. --------------------编程问答-------------------- 不是越界,是 ss 数组里面没值。 --------------------编程问答-------------------- ss[(position) * 15 + i]取出的东西为null --------------------编程问答-------------------- 很明显这里能报null的也就是 .replace的地方了
只有对null进行.操作才会抛空指针。
既然没有出越界异常,那应该是那个ss数组的值为null了。 --------------------编程问答-------------------- 这种问题一调试就什么都知道了!
补充:Java , Java相关