簡體   English   中英

OutOfMemoryError:ArrayList上的Java堆空間

[英]OutOfMemoryError: Java heap space on ArrayList

我想將偶數索引的array(pos)的值傳輸到arraylist(words),每次pos具有兩個或多個值時,我會得到OutOfMemoryError。 有什么事嗎 因為我得到OutOfMemoryError:Java堆空間

    ArrayList<String> token = new ArrayList<String>();
    ArrayList<String> words = new ArrayList<String>();
    for (String a : token)
    {
        temp = temp + " " + a;
        pos = a.split("[_\\s]+");

    }
      int c=0;
      for(int i=0; i<=pos.length; i+=2) {
            words.add(pos[i]);
            c++;
    }

在第二個for循環中,不會將i遞增2,而是將i設置為2,從而導致無限循環。

使用i+=2而不是i=+2

for循環還有另一個問題:可能發生i == pos.length 在那種情況下, pos[i]將導致ArrayIndexOutOfBoundsException。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM