StringTokenizer
는 경량화된 문자열 분리 도구로 간단한 문자열 분리 작업에 적합하지만, 자바 1.4 이후로는 split()
메서드나 정규 표현식을 활용하는 방법이 더 권장됩니다.StringTokenizer
가 유리할 수 있습니다.StringTokenizer
와 split()
비교특징 | StringTokenizer | String.split() |
---|---|---|
도입 시기 | 자바 1.0 | 자바 1.4 |
구분자 처리 | 개별 문자로 처리 | 정규 표현식 사용 가능 |
빈 토큰 처리 | 무시됨 | 빈 토큰을 포함 |
성능 | 더 빠름 | 더 유연하지만 약간 느릴 수 있음 |
기능 | 경량화된 기본 문자열 분리 | 정규식을 지원하여 더 많은 기능 제공 |
대체 여부 | 최신 자바에서 권장되지 않음 | 권장됨 |
수업 코드
package com.util1;
import java.util.Arrays;
import java.util.StringTokenizer;
public class StringTokenizerEx02 {
public static void main(String[] args) {
String strData = "사과&참외&&수박&&&딸기";
// 데이터가 없으면 제거
StringTokenizer st = new StringTokenizer(strData, "&");
System.out.println(st.countTokens());
while (st.hasMoreTokens()) {
System.out.print(st.nextToken());
}
System.out.println("/");
// 발견할 때마다 자름 [사과, 참외, , 수박, , , 딸기]
String[] datas = strData.split("&");
System.out.println(datas.length);
System.out.println(Arrays.toString(datas));
}
}
<수업코드>
package com.util1;
import java.util.StringJoiner;
public class StringJoinerEx01 {
public static void main(String[] args) {
// 문자열 연결 방법
// 1. + 연산자를 이용한 문자열 연결
String fruits1 = "사과" + "," + "수박" + "," + "딸기" + "," + "참외";
System.out.println(fruits1); // 출력: 사과,수박,딸기,참외
// 2. String.concat() 메서드를 이용한 문자열 연결
String fruits2 = "사과".concat(",").concat("수박").concat(",").concat("딸기").concat(",").concat("참외");
System.out.println(fruits2); // 출력: 사과,수박,딸기,참외
// 3. String.join() 메서드를 이용한 문자열 연결
String fruits3 = String.join(",", "사과", "수박", "딸기", "참외");
System.out.println(fruits3); // 출력: 사과,수박,딸기,참외
// 4. String.format() 메서드를 이용한 문자열 연결
String fruits4 = String.format("%s,%s,%s,%s", "사과", "수박", "딸기", "참외");
System.out.println(fruits4); // 출력: 사과,수박,딸기,참외
// 5. StringJoiner를 이용한 문자열 연결
StringJoiner sj = new StringJoiner(",");
sj.add("사과").add("수박").add("딸기").add("참외");
System.out.println(sj.toString()); // 출력: 사과,수박,딸기,참외
}
}