728x90
StringTokenizer 이해하기
StringTokenizer란?
하나의 문자열을 구분자를 기준으로 여러 문자열로 분리하여 토큰으로 저장하는 클래스를 StringTokenizer라고 합니다.
String str = "name=홍길동/age=32/height=170";
StringTokenizer st = new StringTokenizer(str,"/"); //(문자열,"구분자")
위의 예시의 경우 구분자로 /를 사용하였습니다. 따라서 name=홍길동, age=32, height=170으로 3개로 나누어 토큰으로 저장되었습니다.
StringTokenizer st = new StringTokenizer(str,"/=");
위의 예시에는 구분자를 /와 =으로 두 개의 구분자를 주었습니다. 이러한 경우 /와 =으로 구분되어 name, 홍길동, age, 32, height, 170으로 총 6개의 토큰이 생성됩니다.
StringTokenizer의 주요 메서드
countTokens() | 남은 토큰의 수를 나타냅니다. - 출력 자료형은 int |
hasMoreTokens() | 남은 토큰이 존재하는지 확인합니다. - 출력 자료형은 boolean |
nextToken() | 저장되어있는 다음 토큰을 꺼내옵니다. - 출력 자료형은 String |
String str = "name/age/height/weight";
StringTokenizer st = new StringTokenizer(str,"/");
System.out.println(st.countTokens()); // 4 출력
System.out.println(st.hasMoreTokens()); // true 출력
System.out.println(st.nextToken()); // name 출력
System.out.println(st.nextToken()); // age 출력
System.out.println(st.countTokens()); // 2 출력
System.out.println(st.nextToken()); // height 출력
System.out.println(st.nextToken()); // weight 출력
System.out.println(st.hasMoreTokens()); // false 출력
각 메서드를 사용한 코드를 위에 작성하였습니다. 첫 번째 countTokens()의 경우 토큰이 4개가 남아있어 4가 출력이 되고 nextToken()을 통하여 토큰을 내보내고 난 후 countToken()을 사용하면 남은 토큰의 수는 2개로 줄어들게 됩니다. 또한 hasMoreToken()의 경우 처음에는 토큰이 남아있기에 true를 출력하지만 토큰 4개를 다 내보내고 나면 false를 출력합니다.
728x90