본문 바로가기
Java

[Java] StringBuffer

by 세류오 2023. 3. 7.

StringBuffer

👏 도움

점프 투 자바: StringBuffer

 

03-05 StringBuffer

[TOC] StringBuffer는 문자열을 추가하거나 변경 할 때 주로 사용하는 자료형이다. StringBuffer의 메서드들을 살펴보면서 StringBuffer의 사용법에…

wikidocs.net

개념

StringBuffer는 문자열을 추가하거나 변경할 때 사용하는 자료형이다.
문자열을 작업중에 가공하기에 유용하다

■ append

append는 StringBuffer객체를 생성하며 문자열을 생성해준다.

  //StringBuffer 객체 생성
  StringBuffer sb = new StringBuffer();
  //sb에 문자열 추가
  sb.append("Hello");
  sb.append(" ");
  sb.append("World");
  sb.append("!");
  //합쳐진 문자열을 String객체에 대입
  String str = sb.toString();
  //출력
  System.out.println(str);

출력: Hello World!

 

StringBuffer는 append메서드를 이용해서 문자열을 이어서 추가해 나갈 수 있다.
StringBuffer에 쌓인 문자열은 toString() 메서드를 사용하여 String자료형으로 출력하거나 변수에 추가해 줄 수 있다.

하지만 일반적인 String자료형으로도 문자열을 추가할 수 있다.

  String str = "";

  str += "Hello";
  str += " ";
  str += "World"'
  str += "!";
  System.out.println(str);

StringBuffer의 append사용과 String의 에 문자열을 단순히 추가해도 결과를 같게 나온다.

하지만 둘은 내부적으로 객체가 생성되고 메모리의 사용과정에서 차이가 난다

StringBuffer객체는 한번만생성된다. 하지만 String객체는 + 연산이 있을 때마다 새로운 String객체로 생성된다.

(문자열 간 + 연산이 발생하는 경우 자바는 새로운 String객체를 만들어 낸다)

 

하지만 그렇다고 StringBuffer를 사용이 무조건 좋은것은 아니다.

StringBuffer는 String보다 무거운편에 속한다. String을 사용하는 것 보다 메모리사용량도 많고 속도 또한 느리다.

따라서 작업을 하는 과정에서 문자열 추가,변경 작업이 많다면 StringBuffer, 그렇지 않다면 String을 사용하는것이 유리하다.


■ insert

insert는 지정한 위치에 원하는 문자열을 추가할 수 있다.

//insert("위치번호", "문자열")
StringBuffer sb = new StringBuffer();
sb.append(" World!");
sb.insert(0, "Hello");//0번째 위치에 Hello를 추가!
System.out.println(sb.toString());

■ substring

String자료형에 존재하는 substring과 같은동작을 한다

StringBuffer sb = new StringBuffer();
sb.append("Hello World!");
//substring("시작위치", "몇칸")
System.out.println(sb.substring(0, 2));//0번위치에서 2개를 자른다

출럭: He

'Java' 카테고리의 다른 글

[JSP] 절대경로 구하는법  (0) 2020.12.19
자바 환경변수 설정이 필요한 이유?  (0) 2020.08.06
JDBC(Java Database Connectivity)  (0) 2020.07.28
JSP  (0) 2020.05.12