日期:2014-05-20  浏览次数:20736 次

java.lang.OutOfMemoryError,帮帮我,谢谢
我写的这段代码为什么会报这样的错,是哪里错了呀

public   String   customerSPValue(String[]   temp)   {
StringBuffer   str_temp   =   new   StringBuffer();

        for   (int   i   =   1;   i   <   temp.length;   i++)   {
              if   (i> 1){
                        i=i-1;
                        str_temp.append( "custUpdate.setCustomerString( "+i+ ",   cust.get "+temp[i]+ "());\n ");
                                }
}
return   str_temp.toString();
}

------解决方案--------------------
for 循环陷入死循环,导致字符串变得非常大以至于虚拟机的内存不够用了。
------解决方案--------------------
每做一次循环 i++一次, i=i-1一次,等于没作用,死循环就把内存耗尽了

------解决方案--------------------
死循环
------解决方案--------------------
如上
------解决方案--------------------
死循环,去掉i=i-1;
在i=i-1;处设个断点就知道i的变化情况了。