JAVA

25. 스트링버퍼 / 스트링 클래스의 문제점

웹꽃기사 2021. 3. 29. 16:46

1) 스트링버퍼

아무 값도 가지고 있지 않은 StringBuffer객체를 생성

 

 

  • 출력결과 : hello world

StringBuffer가 가지고 있는 메소드들은 대부분 자기 자신, this를 반환

 

 

  • 자기 자신의 메소드를 호출하여 자기 자신의 값을 바꿔나가는 것을 메소드체이닝 이라고 한다.
  • StringBuffer클래스는 메소드 체인 방식으로 사용할 수 있도록 만들어져 있다.

 

 

  • 앞에서 5줄로 작성했던 코드를 위와 같이 한 줄로 수정할 수 있습니다.
  • StringBuffer는 append메소드 외에도 길이를 구하거나, 자르거나 등의 다양한 메소드들을 가지고 있습니다.

 

2) 스트링 클래스의 문제점

String클래스는 문자열을 다룰때 사용하는 클래스

 

 

String클래스는 불변클래스 이다.

 

실행결과

  • 기존의 str1은 전혀 변화 없다.
  • substring메소드는 5번째 부터 문자열을 잘라서 새로운 문자열을 반환하는 메소드
  • str1자체는 전혀 변화가 없다.
  •  

String클래스를 사용할 때 가장 문제가 발생하는 경우는 다음과 같은 코드를 사용할 때 입니다.

  • 실행결과

문자열과 문자열을 더하게 되면 내부적으로는 다음과 같은 코드가 실행

String str4 = new StringBuffer().append(str1).append(str2).toString(); System.out.println(str4);

문자열을 반복문 안에서 더하는 것은 성능상 문제가 생길 수 있으니 반드시 피하도록 합시다.

 

'JAVA' 카테고리의 다른 글

27. 컬렉션 프레임 워크 (1)  (1) 2021.03.29
26. Math  (0) 2021.03.29
24. java.lang 패키지/오토박싱  (0) 2021.03.29
23. 사용자 정의 Exception  (0) 2021.03.29
22. 예외처리  (0) 2021.03.29