提交 4945cf1b 编写于 作者: J Juergen Hoeller

Optimized parameter length comparisons for constructor/method sorting

Issue: SPR-12385
上级 a3778780
/*
* 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));
}
});
}
......
/*
* 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));
}
});
......
/*
* 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));
}
});
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册