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 5c70a4a92c6..de70062fbe3 100644 --- a/spring-core/src/main/java/org/springframework/util/ClassUtils.java +++ b/spring-core/src/main/java/org/springframework/util/ClassUtils.java @@ -831,15 +831,27 @@ public abstract class ClassUtils { return javaLanguageInterfaces.contains(ifc); } + /** + * Determine if the supplied class is a static class. + * @return {@code true} if the supplied class is a static class + * @since 6.0 + * @see Modifier#isStatic(int) + * @see #isInnerClass(Class) + */ + public static boolean isStaticClass(Class clazz) { + return Modifier.isStatic(clazz.getModifiers()); + } + /** * Determine if the supplied class is an inner class, * i.e. a non-static member of an enclosing class. * @return {@code true} if the supplied class is an inner class * @since 5.0.5 * @see Class#isMemberClass() + * @see #isStaticClass(Class) */ public static boolean isInnerClass(Class clazz) { - return (clazz.isMemberClass() && !Modifier.isStatic(clazz.getModifiers())); + return (clazz.isMemberClass() && !isStaticClass(clazz)); } /**