fix: MapValidator#validateAndCopy 添加 merge function

Collectors.toMap 使用 (v1, v2) -> v2 作为 merge function,这在正常情况下不会触发(因为是同一个 entry set 流),是安全的防御性编程。
This commit is contained in:
2026-05-27 11:19:15 +08:00
parent f3c173818c
commit 98a7ed573b

View File

@@ -93,7 +93,7 @@ public abstract class MapValidator<K, V> extends BaseValidator<Map<K, V>> {
validate(obj);
return obj.entrySet().stream()
.filter(kv -> keys.contains(kv.getKey()))
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue));
.collect(Collectors.toMap(Map.Entry::getKey, Map.Entry::getValue, (v1, v2) -> v2));
}
// ================================