StringTokenizer — 문자열을 토큰으로 분리하는 클래스
StringTokenizer — 문자열을 토큰으로 분리하는 클래스
애플리케이션이 문자열을 토큰(token)으로 분리할 수 있게 하는 클래스예요. 토큰화 방법은 StreamTokenizer보다 훨씬 단순해요.
본문
public class StringTokenizer implements Enumeration<Object>
StringTokenizer 메서드는 식별자, 숫자, 따옴표 문자열을 구분하지 않으며 주석도 인식해요. 토큰을 구분하는 구분자 집합은 생성 시 또는 토큰마다 지정할 수 있어요.
StringTokenizer 인스턴스는 returnDelims 플래그 값에 따라 두 가지 방식으로 동작해요:
- 플래그가
false면 구분자 문자는 토큰을 구분하는 역할만 해요. 토큰은 구분자가 아닌 연속 문자들의 최대 시퀀스예요. - 플래그가
true면 구분자 문자 자체가 토큰으로 간주돼요. 즉 토큰은 하나의 구분자 문자이거나, 구분자가 아닌 연속 문자들의 최대 시퀀스예요.
StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
위 코드는 this, is, a, test를 출력해요.
생성자
StringTokenizer(String str)** — 기본 구분자 집합을 가진 문자열 토크나이저를 생성해요.StringTokenizer(String str, String delim)— 지정된 구분자로 문자열 토크나이저를 생성해요.StringTokenizer(String str, String delim, boolean returnDelims)—returnDelims플래그로 문자열 토크나이저를 생성해요.
주요 메서드
hasMoreTokens()— 이 토크나이저에 더 많은 토큰이 있으면true를 반환해요.nextToken()— 이 토크나이저의 다음 토큰을 반환해요.countTokens()—nextToken이 예외를 던지지 않고 호출되기 전에 남은 토큰 수를 계산해요.
StringTokenizer는 호환성 이유로 유지되는 레거시 클래스이며, 새 코드에서는 String.split이나 java.util.regex 패키지를 사용하는 것이 권장돼요.
- 도입 시점(Since): 1.0