문자는 작은 따옴표로 문자열은 큰 따옴표로 묶는다.

- 일정 시간 동안 문자열을 메모리에 보관하기 위해 문자열 테이블을 유지한다.

- String클래스에 있는 문자열을 수정할 수 없다.

- 새로운 String객체를 생성해 새로운 값을 저장할 수 있다.

- 새로운 것을 생성했는데 이미 존재하는 값과 동일하면 이미 존재하는 문자열을 참조한다.

- 문자열 값의 중복을 최소화 하도록 최적화 되어 있다.

- 변경되지 않는 문자열의 한계 때문에 자바는 문자열 테이블을 우회하여 관리할 수 있는 클래스를 제공

└ StringBuffer클래스 : 문자열의 집합을 유지하고, 문자열에 문자/다른문자를 추가, 삽입할수 있다.


1) String클래스

- 문자열 관리, 수정 기능을 제공한다.

사용자 삽입 이미지

사용자 삽입 이미지
사용자 삽입 이미지
사용자 삽입 이미지

출처 : http://cafe.naver.com/javachobostudy.cafe


2) StringBuffer클래스

- String클래스로 변환 가능

- 버퍼의 크기를 지정하거나 String을 사용해 버퍼를 생성가능

- 문자열을 갖지 않는 빈 버퍼을 생성 가능

- StringBuffer인스턴스에 저장된 문자열은 변경이 가능

3) StringTokenizer 클래스

생성자

설명

 StringTokenizer(String str)

주어진 문자열을 토큰으로 분리해서 StringTokenizer 생성한다. 기본 분리자는 화이트 문자

 StringTokenizer(String str, String delim)

주어진 문자열을 토큰으로 분리해서 StringTokenizer 생성한다. 분리자는 매개변수로 전달된 dilim

 StringTokenizer(String str, String delim, boolean returnDelims)

주어진 문자열을 토큰으로 분리해서 StringTokenizer 생성. 분리자는 매개변수로 전달된 delim,

만약 returnDelim 값이 true이면 분리자도 토큰에 포함

메소드

설명

 int countTokens()

 토큰의 개수를 반환

 boolean hasMoreElements()

 hasMoreTokens메소드와 같은 값 반환

 boolean hasMoreTokens()

 StringTokenizer 객체의 문자열로부터 사용 가능한 토큰이 있는지 검사

 Object nextElement()

 nextToken 메소드와 같은 값 반환

단, Object 객체를 반환한다.

 String nextToken()

 다음 토큰을 반환

 String nextToken(String delim)

 현재 남아있는 문자열에서 새로운 구분자(delim)를 사용하여 토큰을 반환한다.


import java.util.*;

//StringTokenizer클래스는 String이나 StringBuffer와 같은 패키지 안에 있지 않다.

public class StringTokenizerEx {
 public static void main(String[] args) {
  String source  = "1,2,3,4,5,6,7,8,9";
  StringTokenizer st = new StringTokenizer(source, ",", false);
  while(st.hasMoreTokens()) {
   String value = st.nextToken();  

                      //nextToken()은 while문안에 한번만 쓰도록 하자.
   System.out.println(value);
  }
 }
}


Posted by 청웨일