Software/Java

[Java] StringTokenizer 클래스 설명과 예제 코드

TGnCo 2025. 2. 11. 08:49

 

 

StringTokenizer 클래스란?

자바의 StringTokenizer 클래스는 문자열을 특정 구분자를 기준으로 나누는 기능을 제공하는 클래스입니다.
과거에는 문자열을 토큰 단위로 분리할 때 많이 사용되었으나, 최근에는 split() 메서드나 String.split()과 같은 기능이 더 많이 활용됩니다.

 

 

StringTokenizer 클래스 사용법

StringTokenizerjava.util.StringTokenizer 패키지에 포함되어 있으며, 기본적인 사용 방법은 다음과 같습니다.

1. 생성자

  • StringTokenizer(String str): 공백을 기준으로 문자열을 분리
  • StringTokenizer(String str, String delim): 지정한 구분자(delim)를 기준으로 문자열을 분리
  • StringTokenizer(String str, String delim, boolean returnDelims): 구분자도 토큰으로 포함할지 여부를 설정

 

2. 주요 메서드

  • hasMoreTokens(): 남아 있는 토큰이 있는지 확인
  • nextToken(): 다음 토큰을 반환
  • countTokens(): 총 토큰 개수 반환

 

StringTokenizer 예제

import java.util.StringTokenizer;

public class StringTokenizerExample {
    public static void main(String[] args) {
        String text = "Java,String,Tokenizer,Example";
        
        // 구분자를 ","로 설정
        StringTokenizer st = new StringTokenizer(text, ",");
        
        while (st.hasMoreTokens()) {
            System.out.println(st.nextToken());
        }
    }
}

위 코드를 실행하면 문자열이 쉼표(,)를 기준으로 나뉘어 출력됩니다.

 

 

StringTokenizer와 split() 비교

최근에는 split() 메서드를 더 많이 사용하는데, 그 차이점은 다음과 같습니다.

  • StringTokenizer는 구분자로 빈 문자열을 반환하지 않음
  • split()은 정규 표현식을 사용할 수 있음
public class SplitExample {
    public static void main(String[] args) {
        String text = "Java,String,Tokenizer,Example";
        
        // split 사용
        String[] tokens = text.split(",");
        for (String token : tokens) {
            System.out.println(token);
        }
    }
}

위의 split()을 이용하면 더 직관적으로 문자열을 나눌 수 있습니다.

 

 

마무리

StringTokenizer 클래스는 문자열을 쉽게 나눌 수 있는 기능을 제공하지만, 최근에는 split()이 더 널리 사용됩니다.
따라서 코드의 유지보수성과 확장성을 고려한다면 split()을 사용하는 것이 일반적입니다.