Java 提示:java.util.ConcurrentModificationException:null

无情 阅读:794 2021-03-31 13:19:37 评论:0

错误代码:

   List<Permission> permissions = new ArrayList<Permission>(); 
	//显示第1页每页显示3条 
	User user = userRepository.findByUserId(uid); 
		 
	user.getRoles().stream().forEach(item->{ 
        Role role = roleRepository.findByRoleId(item.getRoleId()); 
        if(!CollectionUtils.isEmpty(role.getPermissions())){ 
        	for(Permission permission : role.getPermissions()){ 
        		if(permission.getPermisionParentId() == null){ 
        			permissions.add(permission); 
        		} 
        	} 
        } 
     });	 
 
 
   // 错误异常代码 
   for(Permission permission : permissions){ 
		if(permission.getParent() != null){ 
			permissions.remove(permission); 
		} 
	} 
 
  // 修改后正常执行代码 
  Iterator<Permission> iterator = permissions.iterator(); 
  while(iterator.hasNext()){ 
	Permission permission = iterator.next(); 
	if(permission.getPermisionParentId() != null){ 
		iterator.remove(); 
	 } 
   }

错误造成原因:在遍历list的过程中,如果修改了元素,会导致list中索引与对应的值不同,因此抛出此异常

java 造成原因分析请参考:https://blog.csdn.net/u011383372/article/details/84605241?utm_medium=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control&depth_1-utm_source=distribute.pc_relevant.none-task-blog-searchFromBaidu-1.control

 

标签:Exception
声明

1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。

关注我们

一个IT知识分享的公众号