簡體   English   中英

Spring @Value 將空字符串拆分為列表

[英]Spring @Value split empty string to a List

我使用 @Value("#{'${names}'.split(',')}") 從屬性文件加載列表。 但是如果屬性文件中的名稱值是這樣取消設置的

names=

那么 Spring 將初始化一個大小為 1 而不是大小為 0 的列表,並且該列表中唯一的元素是一個空字符串,這很奇怪。

我想知道這是一個錯誤,還是我用錯了? 我正在使用 spring 3.2.3 順便說一句。

謝謝。

這不是 spring 的錯誤,是String class 中方法split的缺陷,例如:

"".split(",");

結果長度為1,並且包含一個空字符串;

如果您不想使用外部庫,其他解決方案是使用 elvis 表達式。
也許不是很優雅但有效。

@Value("#{'${names}'.empty?(new java.util.ArrayList()):'${names}'.split(',')}")

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM