From 32e7eb7dc0d556ddfa1afe77c6402902ccebb9d3 Mon Sep 17 00:00:00 2001 From: Waldemar Panas Date: Tue, 9 Sep 2025 10:25:48 +0200 Subject: [PATCH] Fix #4346: Optimize EmbeddingUtils.toPrimitive(List) Signed-off-by: Waldemar Panas --- .../org/springframework/ai/model/EmbeddingUtils.java | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java index 79683df1e64..9a001f57297 100644 --- a/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java +++ b/spring-ai-model/src/main/java/org/springframework/ai/model/EmbeddingUtils.java @@ -39,7 +39,17 @@ public static List doubleToFloat(final List doubles) { } public static float[] toPrimitive(List floats) { - return toPrimitive(floats.toArray(new Float[floats.size()])); + if (floats == null) { + return null; + } + if (floats.isEmpty()) { + return EMPTY_FLOAT_ARRAY; + } + final float[] result = new float[floats.size()]; + for (int i = 0; i < result.length; i++) { + result[i] = floats.get(i); + } + return result; } public static float[] toPrimitive(final Float[] array) {