2017-05-23 8 views
1

@Value ("# { '$ {names}'. split (',')}")를 사용하여 속성 파일에서 목록을로드합니다. 등록 정보 파일 이름의 값이 다음 봄의 크기가 1이 아닌 크기가 0 목록을 초기화합니다이@Value 빈 문자열을리스트로 나눕니다.

names= 

같은 설정 해제,이 목록에있는 유일한 요소가 빈 문자열 인 경우 는하지만, 그 이상 하네.

내가 알고 싶은 것은 버그인가, 아니면 잘못 사용하고있는 것인가? 봄 3.2.3 btw를 사용하는 Im.

감사합니다.

답변

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