第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

libgdx中的arraylist出現(xiàn)錯誤

libgdx中的arraylist出現(xiàn)錯誤

繁華開滿天機 2021-04-09 14:11:16
for (Rectangle block:getBlock()) {for (Rectangle done:getDone()){    if (block.y == done.y + 40) {        dones.add(block);        blocks.remove(block);        create();    }}所以我試圖在arraylists“ blocks”和“ dones”中的每個矩形獲取位置y,但是我真的不知道當我運行這段代碼時會發(fā)生什么,直到它變?yōu)閕f (block.y == done.y + 40)現(xiàn)實,并且我得到了這個Exception:Exception in thread "LWJGL Application" java.util.ConcurrentModificationExceptionps在create方法中,將Rectangle添加到塊arraylist中
查看完整描述

1 回答

?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

使用增強的for循環(huán),您在內部使用List對象的迭代器。


在迭代基礎列表時,不允許對其進行修改。這就是ConcurrentModificationException您現(xiàn)在所經歷的。


使用標準的for循環(huán),并確保在刪除元素以獲取所需功能時正確移動索引,如下所示:


ArrayList<Rectangle> blocks = getBlock();

ArrayList<Rectangle> done = getDone();


outer: for(int i = 0; i < blocks.size(); ++i)

{

    for(int j = 0; j < done.size(); ++j)

    {

        if(blocks.get(i).y == done.get(j).y + 40)

        {

            done.add(blocks.get(i));

            blocks.remove(i);

            --i; // Make sure you handle the change in index.

            create();

            continue outer; // Ugly solution, consider moving the logic of the inner for into an own method

        }

    }

}


查看完整回答
反對 回復 2021-04-21
  • 1 回答
  • 0 關注
  • 134 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號