그만큼 java.util.StringTokenizer 클래스를 사용하면 문자열을 토큰으로 나눌 수 있습니다. 문자열을 끊는 간단한 방법입니다. Java의 레거시 클래스입니다.
StreamTokenizer 클래스처럼 숫자, 인용된 문자열, 식별자 등을 구별하는 기능을 제공하지 않습니다. I/O 장에서 StreamTokenizer 클래스에 대해 논의할 것입니다.
StringTokenizer 클래스에서 구분 기호는 생성 시 또는 토큰에 하나씩 제공될 수 있습니다.
StringTokenizer 클래스의 생성자
StringTokenizer 클래스에는 3개의 생성자가 정의되어 있습니다.
스레드 동기화
건설자 | 설명 |
---|---|
StringTokenizer(문자열 문자열) | 지정된 문자열로 StringTokenizer를 생성합니다. |
StringTokenizer(문자열 str, 문자열 delim) | 지정된 문자열과 구분 기호를 사용하여 StringTokenizer를 생성합니다. |
StringTokenizer(문자열 str, 문자열 delim, 부울 returnValue) | 지정된 문자열, 구분 기호 및 returnValue를 사용하여 StringTokenizer를 생성합니다. 반환 값이 true인 경우 구분 기호 문자는 토큰으로 간주됩니다. false인 경우 구분 기호 문자는 토큰을 구분하는 역할을 합니다. |
StringTokenizer 클래스의 메서드
StringTokenizer 클래스의 6가지 유용한 메서드는 다음과 같습니다.
행동 양식 | 설명 |
---|---|
부울 hasMoreTokens() | 사용 가능한 토큰이 더 있는지 확인합니다. |
문자열 nextToken() | StringTokenizer 개체에서 다음 토큰을 반환합니다. |
문자열 nextToken(문자열 delim) | 구분 기호를 기반으로 다음 토큰을 반환합니다. |
부울 hasMoreElements() | hasMoreTokens() 메소드와 동일합니다. |
객체 nextElement() | nextToken()과 동일하지만 반환 유형이 Object입니다. |
정수 개수토큰() | 총 토큰 수를 반환합니다. |
StringTokenizer 클래스의 예
공백을 기반으로 'my name is khan'이라는 문자열을 토큰화하는 StringTokenizer 클래스의 예를 살펴보겠습니다.
Simple.java
import java.util.StringTokenizer; public class Simple{ public static void main(String args[]){ StringTokenizer st = new StringTokenizer('my name is khan',' '); while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
산출:
my name is khan
위의 Java 코드는 StringTokenizer 클래스와 해당 메서드 hasMoreTokens() 및 nextToken()의 사용을 보여줍니다.
StringTokenizer 클래스의 nextToken(String delim) 메소드 예시
Test.java
import java.util.*; public class Test { public static void main(String[] args) { StringTokenizer st = new StringTokenizer('my,name,is,khan'); // printing next token System.out.println('Next token is : ' + st.nextToken(',')); } }
산출:
Next token is : my
참고: StringTokenizer 클래스는 이제 더 이상 사용되지 않습니다. String 클래스나 java.util.regex 패키지에 속한 Pattern 클래스의 Split() 메소드를 사용하는 것이 좋습니다.
StringTokenizer 클래스의 hasMoreTokens() 메서드 예
이 메소드는 토크나이저 문자열에서 더 많은 토큰을 사용할 수 있으면 true를 반환하고, 그렇지 않으면 false를 반환합니다.
StringTokenizer1.java
import java.util.StringTokenizer; public class StringTokenizer1 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Demonstrating methods from StringTokenizer class',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { System.out.println(st.nextToken()); } } }
산출:
소프트웨어 테스팅의 종류
Demonstrating methods from StringTokenizer class
위의 Java 프로그램은 StringTokenizer 클래스의 hasMoreTokens() 및 nextToken() 두 가지 메소드를 사용하는 방법을 보여줍니다.
StringTokenizer 클래스의 hasMoreElements() 메서드 예
이 메소드는 StringTokenizer 클래스의 hasMoreTokens() 메소드와 동일한 값을 반환합니다. 유일한 차이점은 이 클래스가 Enumeration 인터페이스를 구현할 수 있다는 것입니다.
StringTokenizer2.java
import java.util.StringTokenizer; public class StringTokenizer2 { public static void main(String args[]) { StringTokenizer st = new StringTokenizer('Hello everyone I am a Java developer',' '); while (st.hasMoreElements()) { System.out.println(st.nextToken()); } } }
산출:
Hello everyone I am a Java developer
위의 코드는 hasMoreElements() 메소드의 사용을 보여줍니다.
StringTokenizer 클래스의 nextElement() 메서드 예
nextElement()는 토크나이저 문자열에서 다음 토큰 객체를 반환합니다. Enumeration 인터페이스를 구현할 수 있습니다.
StringTokenizer3.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Checks if the String has any more tokens */ while (st.hasMoreTokens()) { /* Prints the elements from the String */ System.out.println(st.nextElement()); } } }
산출:
Hello Everyone Have a nice day
위의 코드는 nextElement() 메소드의 사용을 보여줍니다.
StringTokenizer 클래스의 countTokens() 메서드 예
이 메서드는 토크나이저 문자열에 있는 토큰 수를 계산합니다.
StringTokenizer4.java
import java.util.StringTokenizer; public class StringTokenizer3 { /* Driver Code */ public static void main(String args[]) { /* StringTokenizer object */ StringTokenizer st = new StringTokenizer('Hello Everyone Have a nice day',' '); /* Prints the number of tokens present in the String */ System.out.println('Total number of Tokens: '+st.countTokens()); } }
산출:
Total number of Tokens: 6
위의 Java 코드는 StringTokenizer() 클래스의 countTokens() 메서드를 보여줍니다.