StringTokenizer 클래스는 문자열을 사용자가 지정한 구분자로 문자열을 쪼개주는 클래스이다.
해당 규칙으로 쪼개어진 문자열을 Token 이라고 부른다.
StringTokenizer 클래스는 java > util 패키지 내에 속해있다.
그리하여 해당 클래스를 사용해주려면 import java.util.StringTokenizer; 를 기입해줘야한다.
기본적인 아이디어를 도식화 해보면 아래와 같다.
"banana apple mango kiwi" 라는 단어가 있고 해당 문자열을 "*" 로구분하여 나눠준다는 아이디어이다.
즉 결과는 "banana", "apple", "mango", "kiwi" 가 나올 것이다.
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws Exception {
String fruit = "banana*apple*mango*kiwi";
StringTokenizer stk = new StringTokenizer(fruit,"*");
while(stk.hasMoreElements()) {
System.out.println(stk.nextElement());
}
}
}
StringTokenizer 클래스의 설명은 아래와 같다.
생성자(Constructor)
1.StringTokenizer(String str)
- 전달된 String 매개변수를 기본 delim 으로 분리함 기본 delimeter 는 공백문자들.
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws Exception {
String fruit = "banana apple mango kiwi";
StringTokenizer stk = new StringTokenizer(fruit);
while(stk.hasMoreElements()) {
System.out.println(stk.nextElement());
}
}
}
2.StringTokenizer(String str, String delim)
- 전달된 String 매개변수를 전달된 delim 변수로 분리함.
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws Exception {
String fruit = "banana*apple*mango*kiwi";
StringTokenizer stk = new StringTokenizer(fruit,"*");
while(stk.hasMoreElements()) {
System.out.println(stk.nextElement());
}
}
}
3.StringTokenizer(String str, String delim,boolean returnDelims)
- 전달된 String 매개변수를 전달된 delim 변수로 분리함. 세번째 파라미터에 true 가 들어가면 해당 delim까지 토큰으로 취급하고 false 가 들어가면 해당 delim은 토큰으로 취급하지 않음.
- 즉 세번째 파라미터가 false 인 경우는 StringTokenizer(String str, String delim) 의 역할과 같음
import java.io.*;
import java.util.*;
public class Main
{
public static void main(String[] args) throws Exception {
String fruit = "banana*apple*mango*kiwi";
StringTokenizer stk = new StringTokenizer(fruit,"*",true);
while(stk.hasMoreElements()) {
System.out.println(stk.nextElement());
}
}
}
메소드(Method)
1. int countTokens
- 남아 있는 현재 토큰의 개수를 반환함.
2. Object nextElement(), String nextToken()
- StringTokenizer는 내부적으로 cursor 와 같은 역할을 수행하는데 어떤 위치의 토큰을 사용하였는지 기억하고 해당 위
치를 다음 토큰의 위치로 옮겨준다.
3. boolean hasMoreElements(), boolean hasMoreTokens()
- 현재의 커서에 토큰이 있다면 true 토큰이 없다면 false 를 반환
'JAVA' 카테고리의 다른 글
[JAVA] JAVA GC(Garbage Collection) (0) | 2023.03.14 |
---|---|
[JAVA] JAVA 메모리 영역과 JVM 구조 - Stack, Heap, Method (0) | 2023.03.07 |
[JAVA] equals와 ==의 차이점 (0) | 2022.06.02 |