diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlParameter.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlParameter.java index 2a6a792540..f182ed42a1 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlParameter.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/SqlParameter.java @@ -16,6 +16,7 @@ package org.springframework.jdbc.core; +import java.util.ArrayList; import java.util.LinkedList; import java.util.List; @@ -184,12 +185,16 @@ public class SqlParameter { * to a List of SqlParameter objects as used in this package. */ public static List sqlTypesToAnonymousParameterList(@Nullable int... types) { - List result = new LinkedList<>(); + List result; if (types != null) { + result = new ArrayList<>(types.length); for (int type : types) { result.add(new SqlParameter(type)); } } + else { + result = new LinkedList<>(); + } return result; } diff --git a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterUtils.java b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterUtils.java index d1dcb94795..92863785d0 100644 --- a/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterUtils.java +++ b/spring-jdbc/src/main/java/org/springframework/jdbc/core/namedparam/NamedParameterUtils.java @@ -20,7 +20,6 @@ import java.util.ArrayList; import java.util.Collection; import java.util.HashSet; import java.util.Iterator; -import java.util.LinkedList; import java.util.List; import java.util.Map; import java.util.Set; @@ -423,7 +422,7 @@ public abstract class NamedParameterUtils { */ public static List buildSqlParameterList(ParsedSql parsedSql, SqlParameterSource paramSource) { List paramNames = parsedSql.getParameterNames(); - List params = new LinkedList<>(); + List params = new ArrayList<>(paramNames.size()); for (String paramName : paramNames) { params.add(new SqlParameter( paramName, paramSource.getSqlType(paramName), paramSource.getTypeName(paramName)));