JavaTM Platform
Standard Ed. 6

java.util
클래스 StringTokenizer

java.lang.Object 
  상위를 확장 java.util.StringTokenizer
모든 구현된 인터페이스:
Enumeration <Object >


public class StringTokenizer
extends Object
implements Enumeration <Object >

StringTokenizer 클래스를 사용하면(자), 어플리케이션으로 캐릭터 라인을 토큰에 분할할 수 있습니다. 토큰화의 메소드는,StreamTokenizer 클래스에서 사용되고 있는 메소드보다 한층 더 간단합니다. StreamTokenizer 메소드에서는, 식별자, 숫자, 인용 캐릭터 라인은 구별되지 않습니다. 또, 코멘트를 인식해 스킵 하는 일도 없습니다.  

단락 문자 (토큰을 나누는 문자)는, 클래스의 작성시, 또는 토큰을 얻을 때마다 지정할 수 있습니다.  

StringTokenizer 의 인스턴스는, 작성시의 returnDelims 플래그의 값이 truefalse 등에 의해서, 동작이 다릅니다.

StringTokenizer 객체는 내부적으로, 토큰화 되는 캐릭터 라인내의 현재의 위치를 관리합니다. 몇개의 오퍼레이션은, 이 현재의 위치가 처리된 문자의 끝에 진행하는 것이 있습니다.

토큰은,StringTokenizer 객체를 작성하는데 사용된 캐릭터 라인의 부분 캐릭터 라인을 취득하는 것에 의해 돌려주어집니다.  

사용예를 다음에 나타냅니다. 코드:

     StringTokenizer st = new StringTokenizer("this is a test");
     while (st.hasMoreTokens()) {
         System.out.println(st.nextToken());
     }
 

화면에는 다음과 같이 표시됩니다.

     this
     is
     a
     test
 

StringTokenizer 는, 호환성을 유지하는 목적으로 보관 유지되고 있는 유산 클래스이며, 신규 코드에서는 사용이 추천 되고 있지 않습니다. 이 기능의 사용을 생각하고 있다면,Stringsplit 메소드 또는 java.util.regex 패키지를 대신에 사용하는 것을 추천합니다.  

다음의 예는,String.split 메소드를 사용해 캐릭터 라인을 기본적인 토큰에 분할하는 방법을 나타냅니다.

     String[] result = "this is a test". split("\\s");
     for (int x=0; x<result.length; x++)
         System.out.println(result[x]);
 

화면에는 다음과 같이 표시됩니다.

     this
     is
     a
     test
 

도입된 버젼:
JDK1. 0
관련 항목:
StreamTokenizer

생성자 의 개요
StringTokenizer (String  str)
          지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다.
StringTokenizer (String  str, String  delim)
          지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다.
StringTokenizer (String  str, String  delim, boolean returnDelims)
          지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다.
 
메소드의 개요
 int countTokens ()
          예외를 생성하지 않고 토크나이자의 nextToken 메소드를 호출할 수 있는 회수를 계산합니다.
 boolean hasMoreElements ()
          hasMoreTokens 메소드와 같은 값을 돌려줍니다.
 boolean hasMoreTokens ()
          토크나이자의 캐릭터 라인으로 이용할 수 있는 토큰이 아직 있을지 어떨지를 판정합니다.
 Object nextElement ()
          nextToken 메소드와 같은 값을 돌려줍니다.
 String nextToken ()
          캐릭터 라인 토크나이자로부터 다음의 토큰을 돌려줍니다.
 String nextToken (String  delim)
          캐릭터 라인 토크나이자의 캐릭터 라인으로부터 다음의 토큰을 돌려줍니다.
 
클래스 java.lang. Object 로부터 상속된 메소드
clone , equals , finalize , getClass , hashCode , notify , notifyAll , toString , wait , wait , wait
 

생성자 의 상세

StringTokenizer

public StringTokenizer(String  str,
                       String  delim,
                       boolean returnDelims)
지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다. delim 인수내의 모든 문자는, 토큰을 단락짓기 위한 단락 문자입니다.  

returnDelims 플래그가 true 의 경우는, 단락 문자도 토큰으로서 돌려주어집니다. 각 구 잘라 문자는 길이 1 의 캐릭터 라인으로서 돌려주어집니다. 플래그가 false 의 경우는, 단락 문자는 스킵 되어 토큰을 나눌 뿐(만큼)의 것이라고 보여집니다.  

delimnull 의 경우, 이 생성자 은 예외를 throw 하지 않습니다. 다만, 결과적으로 얻을 수 있던 StringTokenizer 에 대해서 다른 메소드를 호출하려고 하면(자),NullPointerException 가 throw 되는 경우가 있습니다.

파라미터:
str - 구문 분석 되는 캐릭터 라인
delim - 단락 문자
returnDelims - 단락 문자를 토큰에 포함할지 어떨지를 나타내는 플래그
예외:
NullPointerException - str 가 null 의 경우

StringTokenizer

public StringTokenizer(String  str,
                       String  delim)
지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다. delim 인수의 문자는, 토큰을 나누는 단락 문자입니다. 단락 문자는, 그 자체가 토큰으로서 처리될 것은 없습니다.  

delimnull 의 경우, 이 생성자 은 예외를 throw 하지 않습니다. 다만, 결과적으로 얻을 수 있던 StringTokenizer 에 대해서 다른 메소드를 호출하려고 하면(자),NullPointerException 가 throw 되는 경우가 있습니다.

파라미터:
str - 구문 분석 되는 캐릭터 라인
delim - 단락 문자
예외:
NullPointerException - str 가 null 의 경우

StringTokenizer

public StringTokenizer(String  str)
지정된 캐릭터 라인에 대한 StringTokenizer 를 작성합니다. 토크나이자는 디폴트의 단락 캐릭터 세트를 사용합니다. 이 세트는 「 \t\n\r\f」로, 공백 문자, 탭 문자, 개행 문자, 복귀 개행 문자, 및 용지 보내 문자로부터 구성됩니다. 단락 문자는, 그 자체가 토큰으로서 처리될 것은 없습니다.

파라미터:
str - 구문 분석 되는 캐릭터 라인
예외:
NullPointerException - str 가 null 의 경우
메소드의 상세

hasMoreTokens

public boolean hasMoreTokens()
토크나이자의 캐릭터 라인으로 이용할 수 있는 토큰이 아직 있을지 어떨지를 판정합니다. 이 메소드가 true 를 돌려주는 경우, 그 이후의 인수가 없는 nextToken 에의 호출은 적절히 토큰을 돌려줍니다.

반환값:
캐릭터 라인내의 현재 위치의 뒤에 토큰이 1 개 이상 존재하고 있는 경우에 한해 true, 그 이외의 경우는 false

nextToken

public String  nextToken()
캐릭터 라인 토크나이자로부터 다음의 토큰을 돌려줍니다.

반환값:
캐릭터 라인 토크나이자로부터의 다음의 토큰
예외:
NoSuchElementException - 이 토크나이자의 캐릭터 라인내에 더 이상 토큰이 존재하지 않는 경우

nextToken

public String  nextToken(String  delim)
캐릭터 라인 토크나이자의 캐릭터 라인으로부터 다음의 토큰을 돌려줍니다. 최초로,StringTokenizer 객체가 단락지어 문자라고 보는 문자세트가, 캐릭터 라인 delim 내의 문자가 되도록(듯이) 변경됩니다. 다음에, 캐릭터 라인내의 현재의 위치의 뒤에 있는 다음의 토큰이 돌려주어집니다. 현재의 위치는, 인식된 토큰을 넘어 진행됩니다. 지정된 단락 문자의 집합은, 이 호출의 뒤에도 디폴트 값로서 사용됩니다.

파라미터:
delim - 새로운 단락 문자
반환값:
새로운 단락 문자로 전환한 뒤의 토큰
예외:
NoSuchElementException - 이 토크나이자의 캐릭터 라인내에 더 이상 토큰이 존재하지 않는 경우
NullPointerException - delim 가 null 의 경우

hasMoreElements

public boolean hasMoreElements()
hasMoreTokens 메소드와 같은 값을 돌려줍니다. 이것을 사용해 이 클래스에 Enumeration 인터페이스를 구현할 수가 있습니다.

정의:
인터페이스 Enumeration <Object > 내의 hasMoreElements
반환값:
토크나이자 캐릭터 라인으로 이용할 수 있는 토큰이 아직 있는 경우는 true, 그렇지 않은 경우는 false
관련 항목:
Enumeration , hasMoreTokens()

nextElement

public Object  nextElement()
nextToken 메소드와 같은 값을 돌려줍니다. 다만, 선언된 반환값은,String 는 아니고 Object 입니다. 이것을 사용해 이 클래스에 Enumeration 인터페이스를 구현할 수가 있습니다.

정의:
인터페이스 Enumeration <Object > 내의 nextElement
반환값:
캐릭터 라인의 다음의 토큰
예외:
NoSuchElementException - 이 토크나이자의 캐릭터 라인내에 더 이상 토큰이 존재하지 않는 경우
관련 항목:
Enumeration , nextToken()

countTokens

public int countTokens()
예외를 생성하지 않고 토크나이자의 nextToken 메소드를 호출할 수 있는 회수를 계산합니다. 현재의 위치로 나아가지 않습니다.

반환값:
현재의 단락 문자를 적용했을 때에 캐릭터 라인에 남아 있는 토큰의 수
관련 항목:
nextToken()

JavaTM Platform
Standard Ed. 6

버그의 보고와 기능의 요청
한층 더 자세한 API 레퍼런스 및 개발자 문서에 대해서는,Java SE 개발자용 문서를 참조해 주세요. 개발자전용의 상세한 해설, 개념의 개요, 용어의 정의, 버그의 회피책, 및 코드 실례가 포함되어 있습니다.

Copyright 2006 Sun Microsystems, Inc. All rights reserved. Use is subject to license terms . Documentation Redistribution Policy 도 참조해 주세요.