diff --git a/src/main/java/org/springframework/data/repository/query/Parameter.java b/src/main/java/org/springframework/data/repository/query/Parameter.java index 42e36142a..f141e58a5 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameter.java +++ b/src/main/java/org/springframework/data/repository/query/Parameter.java @@ -194,13 +194,13 @@ public class Parameter { ClassTypeInformation ownerType = ClassTypeInformation.from(parameter.getDeclaringClass()); TypeInformation parameterTypes = ownerType.getParameterTypes(method).get(parameter.getParameterIndex()); - TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); if (!parameterTypes.getType().equals(Class.class)) { return false; } TypeInformation bound = parameterTypes.getTypeArguments().get(0); + TypeInformation returnType = ClassTypeInformation.fromReturnTypeOf(method); return bound.equals(returnType.getActualType()); } diff --git a/src/main/java/org/springframework/data/repository/query/Parameters.java b/src/main/java/org/springframework/data/repository/query/Parameters.java index ba69d0637..6d02ac91e 100644 --- a/src/main/java/org/springframework/data/repository/query/Parameters.java +++ b/src/main/java/org/springframework/data/repository/query/Parameters.java @@ -62,11 +62,11 @@ public abstract class Parameters, T extends Parameter Assert.notNull(method); - this.parameters = new ArrayList(); - this.dynamicProjectionIndex = -1; - List> types = Arrays.asList(method.getParameterTypes()); + this.parameters = new ArrayList(types.size()); + this.dynamicProjectionIndex = -1; + for (int i = 0; i < types.size(); i++) { MethodParameter methodParameter = new MethodParameter(method, i); @@ -98,12 +98,12 @@ public abstract class Parameters, T extends Parameter */ protected Parameters(List originals) { - this.parameters = new ArrayList(); - int pageableIndexTemp = -1; int sortIndexTemp = -1; int dynamicProjectionTemp = -1; + this.parameters = new ArrayList(originals.size()); + for (int i = 0; i < originals.size(); i++) { T original = originals.get(i);