java.util.ConcurrentModificationException

Poko 发布于 2013/09/05 17:39
阅读 198
收藏 0

系统在调用下段代码时抛出java.util.ConcurrentModificationException,google之都是说的Map被改变,但是下面的代码执行时Map没有被改变

public static StringBuilder map2Json(Object map) {
		StringBuilder json = new StringBuilder();
		json.append("{");
		@SuppressWarnings("rawtypes")
		Iterator it = ((Map) map).entrySet().iterator();
		while (it.hasNext()) {
			Object o = it.next();
			String kv = o.toString();
			String[] kvs = kv.split("=");
			String name = kvs[0];
			String value = kvs[1];
			json.append("\"").append(name).append("\"");
			json.append(":");
			if (value.equals("null") || value == null) {
				json.append("\"\"");
			} else {
				json.append("\"").append(value).append("\"");
			}

			json.append(",");
		}
		json.setCharAt(json.length() - 1, '}');
		return json;
	}

加载中
0
Sub
Sub
并发问题,有其他线程对 map 进行了添加/删除操作。
0
DanielTo
DanielTo
应该是toString的原因,注释掉试试
返回顶部
顶部