今天碰到一个奇怪的问题。
解决办法3
List<Channels> lstChannels = cmsManager.getNewsDao().findAllActiveChannels2();
for (Channels c : lstChannels) {
if (c.getChannelUrl().equals("meeting")) {
lstChannels.remove(c);
}
}
抛出如题异常
解决办法1
List<Channels> lstChannels = cmsManager.getNewsDao().findAllActiveChannels2();
for (int i = 0; i < lstChannels.size(); i++) {
Channels c = lstChannels.get(i);
if (c.getChannelUrl().equals("meeting")) {
lstChannels.remove(c);
i--;
}
}
解决办法2
List<Channels> lstChannels = cmsManager.getNewsDao().findAllActiveChannels2();
Iterator<Channels> ite = lstChannels.iterator();
while(ite.hasNext()) {
if(ite.next().getChannelUrl().equals("meeting")) {
ite.remove();
}
}
解决办法3
List<Channels> lstChannels = cmsManager.getNewsDao().findAllActiveChannels2();
List<Channels> tempChannels = new ArrayList<Channels>();
for (int i = 0; i < lstChannels.size(); i++) {
Channels c = lstChannels.get(i);
if (c.getChannelUrl().equals("meeting")) {
tempChannels.add(c);
}
}
lstChannels.removeAll(tempChannels);