java - ConcurrentModificationException 即使没有删除或添加任何元素
问题描述
即使没有添加或删除任何元素,这段代码块也会抛出ConcurrentModificationException
,我什至同步了该块并且只有一个包含类的实例。有人可以提出任何建议吗?
synchronized (HttpPlatform.lock) {
while(servicesIterator.hasNext()) {
Service service = servicesIterator.next(); // getting error from this line
for(FixedBonusConfig config : configsForEName) {
if((service.getCategory() != null && service.getCategory().equals(config.getCategory()) || config.getCategory().equals("Any")) &&
(service.getServiceline() != null && service.getServiceline().equals(config.getServiceline()) || config.getServiceline().equals("Any")) &&
(service.getTariffplan() != null && service.getTariffplan().equals(config.getTariff()) || config.getTariff().equals("Any")) &&
!isFraud(service, config)) {
if(config.getFixed_bonus() > highestBonus) {
highestBonus = config.getFixed_bonus();
highestYeildingConfig = config;
}
}
}
}
}
解决方案
推荐阅读
- javascript - jQuery如果cookie存在于数组中
- html - 使用鼠标的 CSS 滚动捕捉在 Safari 中不起作用,但在 Firefox 和 Chrome 中有效
- octobercms - HTTP 请求数据并在 OctoberCMS 的模板中显示
- passwords - 你将如何破解这个(MD5 HashCat)?
- pagespeed-insights - 为什么 PageSpeedInsight 结果从一瞬间到下一瞬间变化很大
- python - 如何计算 Pyspark 2.2.0 中不包括周末的日期之间的差异
- r - 从非数字数据创建趋势线并修复饼图上的边框
- c - 为一个 char 指针分配另一个 char 指针的值
- file-upload - 如何在 NestJS 中为采用多部分表单数据的 OpenAPI 注释端点
- mysql - 如何将行号分配给我在 MySQL 中查询的表?