IT/Java

StringTokenizer,StringBuffer,StringBuilder 클래스

딩딩예 2019. 7. 18. 00:30

StringTokenizer 클래스

1. split() 메소드

  • 정규표현식을 구분자로해서 부분 문자열을 분리한 후 배열에 저장하고 리턴한다.
    String[] result = "문자열".split("정규 표현식");

    String text = "학생/학생2,학생3&학생4";
    String []name =text.split("/|,|&");

2. StringTokenizer 클래스

  • 문자열이 한 종류의 구분자로 연결되어 있을 경우.
  • 구분자를 생략하면 공백(Space)이 기본 구분자가 된다.

String text = "학생/학생2/학생3";
StringTokenizer st = new StringTokenizer(text,"/");
메소드 설명
int countTokens() 꺼내지 않고 남아 있는 토큰의 수
boolean hasMoreTokens() 남아 있는 토큰이 있는지 여부
String nextToken() 토큰을 하나씩 꺼내옴
st = new StringTokenizer(text,"/");

while(st.hasMoreTokens()) {
String token = st.nextToken();
System.out.println(token);
}

StringBuffer, StringBuilder 클래스

  • 문자열 결합 연산자 +
  String data = "ABC";
  data += "DEF";
  • 문자열을 결합하는 + 연산자를 많이 사용하면 할수록 그만큼 String 객체의 수가 늘어나기 때문에
  • StringBuffer, StringBuilder
  • 버퍼(buffer: 데이터를 임시로 저장하는 메모리)에 문자열을 저장한다.
  • 버퍼 내부에서 추가, 수정, 삭제 작업을 할 수 있다.
  • 멀티 스레드 환경 : StringBuffer를 사용
  • 단일 스레드 환경 : StringBuilder를 사용
```java
StringBuilder sb = new StringBuilder();
StringBuilder sb = new StringBuilder(16);
StringBuilder sb = new StringBuilder("Java");
```
메소드 설명
append(...) 문자열 끝에 주어진 매개값을 추가
insert(int offset, ...) 문자열 중간에 주어진 매개값을 추가
delete(int start, int end) 문자열의 일부분을 삭제
deleteCharAt(int index) 문자열에서 주어진 index의 문자를 삭제
replacs(int start, int end, String str) 문자열의 일부분을 다른 문자열로 대치
StringBuilder reverse() 문자열의 순서를 뒤바꿈
setCharAt(int index, char ch) 문자열에서 주어진 index의 문자를 다른 문자로 대치