如何清除(清空)java中的字符串数组?

时间:2015-02-02 05:14:16

标签: java arrays javabeans

我得到一些细节并存储到字符串数组中(使用getter和setter)。之后我将其设置为bean(大量数据被采集)。为了避免堆空间错误,我必须清除每次将它设置为bean之后的字符串数组。是否有任何方法可以清除它?我是这个环境的新手任何帮助都会非常值得注意....

代码如下......

               while ((nextLine = reader.readNext()) != null &&nextLine.length!=0) {
                   Encapsulation encap=new Encapsulation();



//         System.out.println("product name"+nextLine[1]);
                encap.setId(nextLine[0]);
                encap.setProduct_name(nextLine[1]);
                encap.setProduct_url(nextLine[6]);
                encap.setProduct_image(nextLine[3]);
                encap.setProduct_price(nextLine[5]);
                encap.setProduct_src("www.flowersuk.com");
                encap.setCountry("Uk");
                encap.setDate(myDate);
                encap.setCategory(nextLine[8]);

                cvobj.DBConnection(encap);
               //at here i need to clear the string array.
              }

2 个答案:

答案 0 :(得分:1)

nextLine = null;怎么样?假设没有其他引用留下悬挂,它应该有资格进行垃圾收集。

答案 1 :(得分:0)

我无法相信持有字符串的数据结构会导致堆溢出。特别是因为encap在循环中被重新声明,因此早期版本的encap可以在每个循环中自由地进行垃圾收集。

错误肯定在其他地方:可能在cvobj.DBConnection(encap);或您的读者代码中。

至于你的实际问题,你不需要做任何事情。

P.S。在重新阅读这个答案时,我的语气似乎有点苛刻,但不知道如何重写它。 :-)