본문 바로가기
Programming/Java

Java 스트링버퍼(StringBuffer)

by wonduk 2023. 7. 7.
728x90

StringBuffer의 특징

StringBuffer클래스의 특징으로는 String클래스와는 다르게 원본의 메모리를 자유롭게 변경할 수 있다는 것이다.

이것의 장점으로는 메모리가 절약될 수 있습니다. 일반적으로는 String클래스를 사용하나 튜닝할때 StringBuffer클래스사용을 고민해 볼 수 있습니다.(String클래스가 1000번이상 수정,추가가 이루어지는경우)

또한 StringBuffer는 공통 메소드가 동기화되므로 멀트쓰레드 환경에서는 StringBuffer를 사용하는 것이 안전하게 사용 할 수 있기때습니다.

그 외의 상황에서는 StringBuilder를 사용해주시면 됩니다.


 

StringBuffer 주요 메서드

  • StringBuffer append(String str)    str값을 추가한다.
  • StringBuffer append(StringBuffer sb)  sb추가
  • int capacity() //현재크기 리턴
  • StringBuffer delete(int start, int end) strart부터 end전까지 삭제한다.
  • StringBuffer insert(int offset, String str)//str을 offset위치에 삽입한다.
  • StringBuffer replace(int start, int end, String str)//strart부터 end까지 str문자로 바꾼다.
  • StringBuffer reverse() //스트링 버퍼 문자열 순서 반대로 한다.
  • void setLength(int newLength) //스트링 버퍼 내 문자열 길이지정한다.

이러한 메서드들을 코드로 구현하면 다음과 같습니다.

	StringBuffer sb = new StringBuffer("This");
		sb.append(" is pencil");
		System.out.println(sb);
		
		sb.insert(7, " my");
		System.out.println(sb);
		
		sb.replace(8, 10, "your");
		System.out.println(sb);
		
		sb.delete(8, 13);
		System.out.println(sb);
		
		sb.setLength(4);//스트링 버퍼 내 문자열 길이 수정
		System.out.println(sb);
728x90