Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/378.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java Spring@Value将空字符串拆分为列表_Java_Spring_List_Annotations - Fatal编程技术网

Java Spring@Value将空字符串拆分为列表

Java Spring@Value将空字符串拆分为列表,java,spring,list,annotations,Java,Spring,List,Annotations,我使用@Value(“#{${names}.split(',')}”)从属性文件加载列表。 但是如果属性文件中的名称的值像这样未设置 names= 然后Spring将初始化一个大小为1而不是0的列表,这个列表中唯一的元素是一个空字符串,这很奇怪 我想知道这是一个bug,还是我用错了?Im使用spring 3.2.3 btw 谢谢。这不是spring的bug,而是String类中方法split的缺陷,例如: "".split(","); 结果长度为1,包含空字符串 非常感谢你!那么,避免这种情

我使用@Value(“#{${names}.split(',')}”)从属性文件加载列表。 但是如果属性文件中的名称的值像这样未设置

names=
然后Spring将初始化一个大小为1而不是0的列表,这个列表中唯一的元素是一个空字符串,这很奇怪

我想知道这是一个bug,还是我用错了?Im使用spring 3.2.3 btw


谢谢。

这不是spring的bug,而是
String
类中方法
split
的缺陷,例如:

"".split(",");

结果长度为1,包含空字符串

非常感谢你!那么,避免这种情况的优雅方法是什么?为什么这是一个缺陷?@Wuaner您可以使用Guava Library中的
拆分器来省略空项,就像:
Iterable split=Splitter.on(“,”).ompiteEmptyStrings().split(“);String[]strings=Iterables.toArray(split,String.class)