긴 문자열을 지정된 구분자(delimiter)를 기준으로 토큰(token)이라는 여러 개의 문자열로 잘라내는 데 사용된다. 예를 들어 "100,20,300,400"라는 문자열이 있을 때 ','를 구분자로 잘라내면 "100","200","300","400"이라는 4개의 문자열(토큰)을 얻을 수 있다.
물론 String의 split(String regex), Scanner의 useDelimiter(String pattern)를 사용할 수도 있다.
이 두가지 방법은 정규식 표현(Regular expression)을 사용해야하므로 정규식 표현에 익숙하지 않은 경우 StirngTokenizer를 사용하는 것이 간단하면서도 명확한 결과를 얻을 수 있을 것이다.
docs.oracle.com/javase/7/docs/api/java/util/StringTokenizer.html
* split()은 빈 문자열도 토큰으로 인식하는 반면 StringTokenizer는 빈 문자열을 토큰으로 인식하지 않기 때문에 인식하는 토큰의 개수가 서로 다른 것을 알 수 있다.
* split()은 데이터를 토큰으로 잘라낸 결과를 배열로 담아서 반환하기 때문에 데이터를 토큰으로 바로바로 잘라서 반환하는 StringTokenizer보다 성능이 떨어진다. 그러나 데이터의 양이 많은 경우가 아니라면 별 문제가 되지 않으므로 크게 신경 쓸 부분은 아니다.
'Java > 기초' 카테고리의 다른 글
[Java] 인터페이스 vs 추상클래스 (0) | 2021.02.07 |
---|---|
[Java] BigInteger, BigDecimal 클래스 (0) | 2020.11.15 |
[Java] 래퍼(Wrapper) 클래스, 정규식(Regular Expression) (0) | 2020.11.15 |
[Java] 날짜와 시간 & 형식화 (0) | 2020.10.02 |
[Java] java.lang패키지와 유용한 클래스1 (0) | 2020.09.11 |