From 98a7ed573b6bea73e4d2a74b89f4c97f86eab034 Mon Sep 17 00:00:00 2001 From: ZhouXY108 Date: Wed, 27 May 2026 11:19:15 +0800 Subject: [PATCH] =?UTF-8?q?fix:=20`MapValidator#validateAndCopy`=20?= =?UTF-8?q?=E6=B7=BB=E5=8A=A0=20merge=20function?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Collectors.toMap 使用 (v1, v2) -> v2 作为 merge function,这在正常情况下不会触发(因为是同一个 entry set 流),是安全的防御性编程。 --- .../main/java/xyz/zhouxy/plusone/validator/MapValidator.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java index 7ec7506..9802137 100644 --- a/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java +++ b/plusone-validator/src/main/java/xyz/zhouxy/plusone/validator/MapValidator.java @@ -93,7 +93,7 @@ public abstract class MapValidator extends BaseValidator> { 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)); } // ================================