diff --git a/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java b/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java index b506593ad0..8760fa4a5a 100644 --- a/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java +++ b/spring-beans/src/main/java/org/springframework/beans/BeanUtils.java @@ -320,10 +320,10 @@ public abstract class BeanUtils { /** * Return the primary constructor of the provided class (single or default constructor - * for Java classes and primary constructor for Kotlin classes) if any. + * for Java classes and primary constructor for Kotlin classes), if any. * @param clazz the {@link Class} of the Kotlin class - * @see http://kotlinlang.org/docs/reference/classes.html#constructors * @since 5.0 + * @see Kotlin docs */ @SuppressWarnings("unchecked") @Nullable @@ -331,22 +331,22 @@ public abstract class BeanUtils { Assert.notNull(clazz, "Class must not be null"); Constructor ctor = null; if (kotlinPresent && isKotlinClass(clazz)) { - ctor = KotlinDelegate.findPrimaryConstructor(clazz); + return KotlinDelegate.findPrimaryConstructor(clazz); } else { - Constructor[] ctors = (Constructor[])clazz.getConstructors(); + Constructor[] ctors = (Constructor[]) clazz.getConstructors(); if (ctors.length == 1) { - ctor = ctors[0]; + return ctors[0]; } else { try { - ctor = clazz.getDeclaredConstructor(); + return clazz.getDeclaredConstructor(); } - catch (NoSuchMethodException e) { + catch (NoSuchMethodException ex) { + return null; } } } - return ctor; } /**