Author: joehni Date: Thu Aug 12 06:47:43 2010 New Revision: 984655 URL: http://svn.apache.org/viewvc?rev=984655&view=rev Log: Fix wrong cast.
Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java Modified: commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java URL: http://svn.apache.org/viewvc/commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java?rev=984655&r1=984654&r2=984655&view=diff ============================================================================== --- commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java (original) +++ commons/proper/lang/trunk/src/main/java/org/apache/commons/lang3/reflect/ConstructorUtils.java Thu Aug 12 06:47:43 2010 @@ -265,14 +265,13 @@ public class ConstructorUtils { } Constructor<T> result = null; /* - * Class.getConstructors() is documented to return Constructor<T> so as - * long as the array is not subsequently modified, everything's fine: + * (1) Class.getConstructors() is documented to return Constructor<T> so as + * long as the array is not subsequently modified, everything's fine. */ - @SuppressWarnings("unchecked") // cls is of type T - Constructor<T>[] ctors = cls.getConstructors(); + Constructor<?>[] ctors = cls.getConstructors(); // return best match: - for (Constructor<T> ctor : ctors) { + for (Constructor<?> ctor : ctors) { // compare parameters if (ClassUtils.isAssignable(parameterTypes, ctor.getParameterTypes(), true)) { // get accessible version of constructor @@ -282,7 +281,10 @@ public class ConstructorUtils { if (result == null || MemberUtils.compareParameterTypes(ctor.getParameterTypes(), result .getParameterTypes(), parameterTypes) < 0) { - result = ctor; + // temporary variable for annotation, see comment above (1) + @SuppressWarnings("unchecked") + Constructor<T> constructor = (Constructor<T>)ctor; + result = constructor; } } }