From 309b3287195528ce2d96305195885be0b6a32513 Mon Sep 17 00:00:00 2001 From: mfeng-ya <42688346+mfeng-ya@users.noreply.github.com> Date: Fri, 12 Jul 2019 17:44:10 +0800 Subject: [PATCH] Use computeIfAbsent in LocalVariableTableParameterNameDiscoverer Closes gh-23281 --- .../LocalVariableTableParameterNameDiscoverer.java | 12 ++---------- 1 file changed, 2 insertions(+), 10 deletions(-) diff --git a/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java b/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java index 3d05f1fd4d..9f655c8e3d 100644 --- a/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java +++ b/spring-core/src/main/java/org/springframework/core/LocalVariableTableParameterNameDiscoverer.java @@ -69,11 +69,7 @@ public class LocalVariableTableParameterNameDiscoverer implements ParameterNameD public String[] getParameterNames(Method method) { Method originalMethod = BridgeMethodResolver.findBridgedMethod(method); Class declaringClass = originalMethod.getDeclaringClass(); - Map map = this.parameterNamesCache.get(declaringClass); - if (map == null) { - map = inspectClass(declaringClass); - this.parameterNamesCache.put(declaringClass, map); - } + Map map = this.parameterNamesCache.computeIfAbsent(declaringClass, this::inspectClass); if (map != NO_DEBUG_INFO_MAP) { return map.get(originalMethod); } @@ -84,11 +80,7 @@ public class LocalVariableTableParameterNameDiscoverer implements ParameterNameD @Nullable public String[] getParameterNames(Constructor ctor) { Class declaringClass = ctor.getDeclaringClass(); - Map map = this.parameterNamesCache.get(declaringClass); - if (map == null) { - map = inspectClass(declaringClass); - this.parameterNamesCache.put(declaringClass, map); - } + Map map = this.parameterNamesCache.computeIfAbsent(declaringClass, this::inspectClass); if (map != NO_DEBUG_INFO_MAP) { return map.get(ctor); }