JAVA

StringTokenizer 클래스 정리

min민 2022. 12. 21.

 

StringTokenizer

StringTokenizer 클래스는 문자열을 직접 지정한 구분자로 문자열을 쪼개는 클래스이다. 

그렇게 쪼개진 문자열을 토큰(toekn)이라 부른다.

 

ex) 우선 실행을 위해서는

import java.util.StringTokenizer;

를 최상단에 적어줘야 한다.

 

 

import java.util.StringTokenizer;
public class Main {
    public static void main(String[] args){
        String str = "This is a string example using StringTokenizer";
        StringTokenizer tokenizer = new StringTokenizer(str);
        System.out.println(str);
        System.out.println();

        System.out.println("total tokens:"+tokenizer.countTokens());
        
        while(tokenizer.hasMoreTokens()){
            System.out.println(tokenizer.nextToken());
        }
        System.out.println("total tokens:"+tokenizer.countTokens());
    }
}

위와 같은 코드를 IntelliJ에서 실행하게 되면, 

total tokens:7
This
is
a
string
example
using
StringTokenizer
total tokens:0

와 같은 값이 나오는데 하나하나 설명해보겠다.

 

 

우선 첫번째

String str = "This is a string example using StringTokenizer";

 

str =>  "This is a string ~~ "의 문장을 string타입의 str이라는 변수에 할당하게 된다.

* 이때 할당이라는 표현은 저장이라고 이해해도 된다.

 

str변수에 할당한 후 

 

 

 

두번째,

StringTokenizer tokenizer = new StringTokenizer(str)

StringTokenizer라는  클래스에 tokenizer라는 변수를 선언하고 => 그안에 StringTokenizer(str) 값을 저장한다

 

 

 

세번째,

	System.out.println(str);
	System.out.println();
System.out.println("total tokens:"+tokenizer.countTokens());

str의 값은 

this is a string example using stringtokenizer의 문자열인 7이 되어

total tokens:7 이 출력되고.

 

while(tokenizer.hasMoreTokens()){
		System.out.println(tokenizer.nextToken());

 

구문에 의해 

This
is
a
string
example
using
StringTokenizer 가 출력된다.

 

System.out.println("total tokens:"+tokenizer.countTokens());

마지막 결과값은 total tokens:0 가 출력된다.

 

 

 

StringTokenizer에서 자주사용하는 매서드로

 

int countTokens()

= 남아있는 token의 개수를 반환함. *전체 토큰의 개수가아닌 현재 남아있는 토큰의 개수

 

 

boolean hasMoreElements(), boolean hasMoreTokens()

= 현재 위치 뒤에 있는 문자열에서 하나 이상의 토큰을 사용 할 수 있는 경우 true 반환, 그렇지 않으면 false를 반환

 

 

Object nextElement(), String nextToken()

= 다음의 토큰을 반환하게 된다.

nextElemnet는 object를 // nextToken은 String을 반환한다.

 

 

 

 

댓글