很多高級的編程語言都會有foreach之類的對數據進行迭代的方式,這類迭代如何用相信不用多言,只是有一點是需要注意的,那就是foreach的線程安全問題,不要在迭代的時候對源數據加入add,romove邏輯,即使被標記為線程安全的,在foreach的時候,增加項和移除項的操作都會導致異常,錯誤代碼示范如下
for(T t : ?tList){
/*業務邏輯*/?
foreach返回的是什么、 tList.add();
tList.remove();
/*業務邏輯*/這樣處理,即使是線程安全的數據結構也會導致異常
)