Skip to content

Commit 7b57438

Browse files
committed
feat[storage]: use commas, semicolons, newline separators to parse array
1 parent d3bd078 commit 7b57438

File tree

1 file changed

+8
-6
lines changed

1 file changed

+8
-6
lines changed

storage/src/main/java/com/zfoo/storage/convert/ConvertUtils.java

+8-6
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
package com.zfoo.storage.convert;
1414

1515
import com.zfoo.protocol.util.StringUtils;
16+
import org.springframework.context.ConfigurableApplicationContext;
1617
import org.springframework.context.support.ConversionServiceFactoryBean;
1718
import org.springframework.core.convert.ConversionService;
1819
import org.springframework.core.convert.TypeDescriptor;
@@ -63,15 +64,16 @@ public static Object convertField(String content, Field field) {
6364

6465
public static Object convertToArray(String content, Class<?> componentType) {
6566
content = StringUtils.trim(content);
66-
// null safe,content为空则返回长度为0的数组
6767
if (StringUtils.isEmpty(content)) {
6868
return Array.newInstance(componentType, 0);
6969
}
70-
// 用普通的逗号分隔符解析
71-
var list = convertToList(content, componentType);
72-
Object array = Array.newInstance(componentType, list.size());
73-
for (var i = 0; i < list.size(); i++) {
74-
Array.set(array, i, list.get(i));
70+
// Use commas, semicolons, newline separators to parse
71+
var splits = StringUtils.tokenize(content, ConfigurableApplicationContext.CONFIG_LOCATION_DELIMITERS);
72+
Object array = Array.newInstance(componentType, splits.length);
73+
for (var i = 0; i < splits.length; i++) {
74+
var split = splits[i];
75+
var value = convert(StringUtils.trim(split), componentType);
76+
Array.set(array, i, value);
7577
}
7678
return array;
7779
}

0 commit comments

Comments
 (0)