Optimized parameter length comparisons for constructor/method sorting
Issue: SPR-12385
This commit is contained in:
parent
a377878038
commit
4945cf1bd1
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -67,7 +67,7 @@ abstract class AutowireUtils {
|
|||
}
|
||||
int c1pl = c1.getParameterTypes().length;
|
||||
int c2pl = c2.getParameterTypes().length;
|
||||
return (new Integer(c1pl)).compareTo(c2pl) * -1;
|
||||
return (c1pl < c2pl ? 1 : (c1pl > c2pl ? -1 : 0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
@ -90,7 +90,7 @@ abstract class AutowireUtils {
|
|||
}
|
||||
int c1pl = fm1.getParameterTypes().length;
|
||||
int c2pl = fm2.getParameterTypes().length;
|
||||
return (new Integer(c1pl)).compareTo(c2pl) * -1;
|
||||
return (c1pl < c2pl ? 1 : (c1pl > c2pl ? -1 : 0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -50,12 +50,12 @@ public class ReflectiveConstructorResolver implements ConstructorResolver {
|
|||
* </ol>
|
||||
*/
|
||||
@Override
|
||||
public ConstructorExecutor resolve(EvaluationContext context, String typename, List<TypeDescriptor> argumentTypes)
|
||||
public ConstructorExecutor resolve(EvaluationContext context, String typeName, List<TypeDescriptor> argumentTypes)
|
||||
throws AccessException {
|
||||
|
||||
try {
|
||||
TypeConverter typeConverter = context.getTypeConverter();
|
||||
Class<?> type = context.getTypeLocator().findType(typename);
|
||||
Class<?> type = context.getTypeLocator().findType(typeName);
|
||||
Constructor<?>[] ctors = type.getConstructors();
|
||||
|
||||
Arrays.sort(ctors, new Comparator<Constructor<?>>() {
|
||||
|
|
@ -63,7 +63,7 @@ public class ReflectiveConstructorResolver implements ConstructorResolver {
|
|||
public int compare(Constructor<?> c1, Constructor<?> c2) {
|
||||
int c1pl = c1.getParameterTypes().length;
|
||||
int c2pl = c2.getParameterTypes().length;
|
||||
return (new Integer(c1pl)).compareTo(c2pl);
|
||||
return (c1pl < c2pl ? -1 : (c1pl > c2pl ? 1 : 0));
|
||||
}
|
||||
});
|
||||
|
||||
|
|
|
|||
|
|
@ -1,5 +1,5 @@
|
|||
/*
|
||||
* Copyright 2002-2013 the original author or authors.
|
||||
* Copyright 2002-2014 the original author or authors.
|
||||
*
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
|
|
@ -135,7 +135,7 @@ public class ReflectiveMethodResolver implements MethodResolver {
|
|||
return 0;
|
||||
}
|
||||
}
|
||||
return (new Integer(m1pl)).compareTo(m2pl);
|
||||
return (m1pl < m2pl ? -1 : (m1pl > m2pl ? 1 : 0));
|
||||
}
|
||||
});
|
||||
}
|
||||
|
|
|
|||
Loading…
Reference in New Issue