백준 7490번 0 만들기를 풀 때 StringTokenizer 를 사용하면 좀 더 편하게 해결할 수 있습니다.
StringTokenizer 는 구분자를 포함해서 문자열을 분리할 수 있기 때문입니다.
예를 들어, 1+2+3 을 1, +, 2, +, 3 으로 분리 가능하죠.
그러면 StringTokenizer 에 대해서 살펴보도록 합시다.
StringTokenizer 클래스는 하나의 문자열을 여러 개의 토큰으로 분리하는 클래스입니다.
그런데 문자열을 분리하는 split 메소드가 존재합니다. split 이 존재하는데 왜 StringTokenizer 가 또 있는걸까요?
이 2개의 메소드는 모두 문자열을 파싱하는데 사용하는 것은 맞습니다.
단, 몇 가지 차이점이 존재하죠.
StringTokenizer는 문자 또는 문자열로 문자열을 구분한다면, split는 정규표현식으로 구분합니다.
StringTokenizer는 빈 문자열을 토큰으로 인식하지 않지만 split는 빈 문자열을 토큰으로 인식하는 차이가 있습니다.
+1+2+3
문자열을 + 로 구분한다고 했을 때 StringTokenizer 는 3개의 문자열로 분리하지만 split은 4개의 문자열로 분리하죠.
StringTokenizer를 생성하는 방식에는 3가지가 있습니다.
출처 : https://jhnyang.tistory.com/entry/JAVA-StringTokenizer-클래스로-문자열-분리하기-split-비교