From df51ff03862c6a299f2ff243828ec23608899311 Mon Sep 17 00:00:00 2001 From: Juergen Hoeller Date: Sun, 12 Aug 2018 20:52:55 +0200 Subject: [PATCH] Revert to Map entry iteration for less expensive static initialization Issue: SPR-17169 --- .../main/java/org/springframework/util/ClassUtils.java | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/util/ClassUtils.java b/spring-core/src/main/java/org/springframework/util/ClassUtils.java index 4a7b9e8f93..b10f7f8d53 100644 --- a/spring-core/src/main/java/org/springframework/util/ClassUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ClassUtils.java @@ -121,10 +121,11 @@ public abstract class ClassUtils { primitiveWrapperTypeMap.put(Long.class, long.class); primitiveWrapperTypeMap.put(Short.class, short.class); - primitiveWrapperTypeMap.forEach((key, value) -> { - primitiveTypeToWrapperMap.put(value, key); - registerCommonClasses(key); - }); + // Map entry iteration is less expensive to initialize than forEach with lambdas + for (Map.Entry, Class> entry : primitiveWrapperTypeMap.entrySet()) { + primitiveTypeToWrapperMap.put(entry.getValue(), entry.getKey()); + registerCommonClasses(entry.getKey()); + } Set> primitiveTypes = new HashSet<>(32); primitiveTypes.addAll(primitiveWrapperTypeMap.values());