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;
                     }
                 }
             }


Reply via email to