当前位置:编程学习 > JAVA >>

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 的数据是空的 --------------------编程问答-------------------- 代码没帖全。。。。 --------------------编程问答--------------------
引用 6 楼 game4daniel 的回复:
ss[(position) * 15 + i]
ss数组中,下标:(position) * 15 + i 的数据是空的


因为如果为数组中元素为null是可以用拼在字符串后面的. --------------------编程问答--------------------
引用 5 楼 only_u_me 的回复:
.replaceAll("&nbsp;", "");
去掉就不报了!!!


如果你这个是null,之后你replaceAll肯定是异常
建议都住debug as运行,自己调试下 --------------------编程问答-------------------- ss[(position) * 15 + i] 是null,所以replace发生异常。 --------------------编程问答--------------------
引用 10 楼 Liangstar 的回复:
ss[(position) * 15 + i] 是null,所以replace发生异常。


null+"" 结果为 "null"  

我倒觉得他写错了,异常应该为下标越界啊.

--------------------编程问答-------------------- 你的程序也不全啊.. --------------------编程问答-------------------- 不是越界,是 ss 数组里面没值。 --------------------编程问答-------------------- ss[(position) * 15 + i]取出的东西为null --------------------编程问答-------------------- 很明显这里能报null的也就是 .replace的地方了
只有对null进行.操作才会抛空指针。
既然没有出越界异常,那应该是那个ss数组的值为null了。 --------------------编程问答-------------------- 这种问题一调试就什么都知道了!
补充:Java ,  Java相关
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,