Java Spring@Value将空字符串拆分为列表
我使用@Value(“#{${names}.split(',')}”)从属性文件加载列表。 但是如果属性文件中的名称的值像这样未设置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,包含空字符串 非常感谢你!那么,避免这种情
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)代码>