diff --git a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java index b49cf9e30b..4f75bae875 100644 --- a/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java +++ b/spring-expression/src/main/java/org/springframework/expression/spel/support/ReflectivePropertyAccessor.java @@ -436,13 +436,11 @@ public class ReflectivePropertyAccessor implements PropertyAccessor { * Return class methods ordered with non-bridge methods appearing higher. */ private Method[] getSortedMethods(Class clazz) { - Method[] methods = this.sortedMethodsCache.get(clazz); - if (methods == null) { - methods = clazz.getMethods(); + return this.sortedMethodsCache.computeIfAbsent(clazz, key -> { + Method[] methods = key.getMethods(); Arrays.sort(methods, (o1, o2) -> (o1.isBridge() == o2.isBridge() ? 0 : (o1.isBridge() ? 1 : -1))); - this.sortedMethodsCache.put(clazz, methods); - } - return methods; + return methods; + }); } /**