○ 문자열 관련 클래스
- String, StringBuffer, StringBuilder
- StringTokenizer : 문자열 분리
○ String vs StringBuffer vs StringBuilder
① String
String s1="";
System.out.println(s1.length()); //0
s1=s1+"ONE";
System.out.println(s1+s1.length()); //ONE3
//모든 문자열 지우기(빈 문자열 대입)
s1="";
System.out.println(s1+s1.length()); //0
② StringBuffer
- 문자열 길이 : length()
- 문자열로 변환 : toString()
- 문자열 추가 : append("추가할 문자열")
- 문자열 삭제 : delete(시작인덱스, 끝인덱스+1)
StringBuffer s2=null;
s2 = new StringBuffer(); //메모리할당
s2.append("JEJU");
System.out.println(s2.toString()+s2.length()); //JEJU4
s2.append("BUSAN");
System.out.println(s2.toString()+s2.length()); //JEJUBUSAN9
//모든 글자 지우기
s2.delete(0, s2.length()); //인덱스0부터 8(9-1)까지 지우기
System.out.println(s2.length()); //0
③ StringBuilder
- 문자열 길이 : length()
- 문자열로 변환 : toString()
- 문자열 추가 : append("추가할 문자열")
- 문자열 삭제 : delete(시작인덱스, 끝인덱스+1)
StringBuilder s3 = new StringBuilder();
s3.append("SEUOL");
System.out.println(s3.toString()+s3.length()); //SEUOL5
s3.append("JEJU");
System.out.println(s3.toString()+s3.length()); //SEUOLJEJU9
//모든 글자 지우기
s3.delete(0, s3.length()); //인덱스0부터 8(9-1)까지 지우기
System.out.println(s3.length()); //0
○ StringTokenizer
- 문자열 분리
- 입력데이터에 일정한 규칙이 있어야 Token할 수 있다 / e.g. CSV파일 (참고 : CSV파일)
StringTokenizer st = new StringTokenizer("Gone,With,The,Wind", ",");
while(st.hasMoreTokens()) { //토큰할 문자가 있는지?
System.out.println(st.nextToken()); //토큰할 문자열 가져오기
}
/*
출력결과
Gone
With
The
Wind
*/
'Backend > JAVA_Basic' 카테고리의 다른 글
16. JAVA, final (final클래스, final메소드) & 연습문제 (0) | 2022.06.02 |
---|---|
15. JAVA, static (정적 변수, 정적 메소드) (0) | 2022.06.02 |
13. JAVA, String 클래스 관련 메소드(substring, length, equals ...) & 연습문제 (0) | 2022.06.01 |
12. JAVA, 생성자 함수(Constructor) (0) | 2022.05.31 |
11. JAVA, 클래스 (class, OOP, new 연산자, 객체, 인스턴스, this, 내부클래스) (0) | 2022.05.31 |
댓글