2017-05-23 8 views
1

@Value( "#{'$ {names}'。split( '、')}")を使用してプロパティファイルから読み込みます。 しかし、プロパティファイル内の名前の値がこのSpring @Valueは空の文字列をリストに分割します

names= 

よう設定されていないならば、春はサイズ1、サイズではなく0でリストを初期化し、このリストの唯一の要素が空の文字列で、それは奇妙です。

これはバグか、間違って使っているのですか?私は春3.2.3 btwを使用しています。

ありがとうございました。

答えて

1

これは、スプリングのバグではないですがStringクラス、例の方法splitの欠陥である:

"".split(","); 

結果の長さは1であり、空の文字列を含みます。

+0

ありがとうございました!これを避けるためのエレガントな方法は何ですか? – Wuaner

+0

なぜそれが不具合ですか? – shmosel

+0

@Wuaner Guavaライブラリの 'Splitter'を使って、空の項目を省略することができます:' Iterable split = Splitter.on( "、")。omitEmptyStrings()。split( ""); String [] strings = Iterables.toArray(split、String.class); ' – dabaicai

関連する問題