logo

자바 StringBuilder 클래스

Java StringBuilder 클래스는 변경 가능한(수정 가능한) 문자열을 생성하는 데 사용됩니다. Java StringBuilder 클래스는 동기화되지 않는다는 점을 제외하면 StringBuffer 클래스와 동일합니다. JDK 1.5부터 사용 가능합니다.

StringBuilder 클래스의 중요한 생성자

건설자설명
스트링빌더()초기 용량이 16인 빈 문자열 빌더를 생성합니다.
StringBuilder(문자열 문자열)지정된 문자열을 사용하여 문자열 빌더를 생성합니다.
StringBuilder(정수 길이)지정된 용량을 길이로 사용하여 빈 문자열 빌더를 생성합니다.

StringBuilder 클래스의 중요한 메소드

방법설명
공개 StringBuilder 추가(문자열 s)이 문자열에 지정된 문자열을 추가하는 데 사용됩니다. Append() 메소드는 Append(char), Append(Boolean), Append(int), Append(Float), Append(Double) 등과 같이 오버로드됩니다.
공개 StringBuilder 삽입(int 오프셋, 문자열 s)지정된 위치에 이 문자열과 함께 지정된 문자열을 삽입하는 데 사용됩니다. insert() 메소드는 insert(int, char), insert(int, boolean), insert(int, int), insert(int, float), insert(int, double) 등과 같이 오버로드됩니다.
공개 StringBuilder 교체(int startIndex, int endIndex, String str)지정된 startIndex 및 endIndex의 문자열을 바꾸는 데 사용됩니다.
공개 StringBuilder 삭제(int startIndex, int endIndex)지정된 startIndex 및 endIndex에서 문자열을 삭제하는 데 사용됩니다.
공개 StringBuilder 역방향()문자열을 뒤집을 때 사용됩니다.
공개 정수 용량()현재 용량을 반환하는데 사용됩니다.
공공 무효 보장Capacity(int maximumCapacity)주어진 최소값과 최소한 동일한 용량을 보장하는 데 사용됩니다.
공개 char charAt(int 인덱스)지정된 위치의 문자를 반환하는데 사용됩니다.
공개 정수 길이()문자열의 길이, 즉 총 문자 수를 반환하는 데 사용됩니다.
공개 문자열 하위 문자열(int startIndex)지정된 BeginIndex에서 하위 문자열을 반환하는 데 사용됩니다.
공개 문자열 하위 문자열(int startIndex, int endIndex)지정된 BeginIndex 및 endIndex에서 하위 문자열을 반환하는 데 사용됩니다.

Java StringBuilder 예제

StringBuilder 클래스의 다양한 메서드 예를 살펴보겠습니다.

1) StringBuilder의 추가() 메소드

StringBuilderappend() 메소드는 주어진 인수를 이 문자열과 연결합니다.

StringBuilderExample.java

잉크스케이프 대 김프
 class StringBuilderExample{ public static void main(String args[]){ StringBuilder sb=new StringBuilder('Hello '); sb.append('Java');//now original string is changed System.out.println(sb);//prints Hello Java } } 

산출:

 Hello Java 

2) StringBuilder insert() 메소드

StringBuilder insert() 메소드는 주어진 위치에 이 문자열과 함께 주어진 문자열을 삽입합니다.

StringBuilderExample2.java

 class StringBuilderExample2{ public static void main(String args[]){ StringBuilder sb=new StringBuilder('Hello '); sb.insert(1,'Java');//now original string is changed System.out.println(sb);//prints HJavaello } } 

산출:

자바 수학
 HJavaello 

3) StringBuilder의 교체() 메소드

StringBuilder replacement() 메서드는 지정된 BeginIndex 및 endIndex에서 지정된 문자열을 대체합니다.

StringBuilderExample3.java

 class StringBuilderExample3{ public static void main(String args[]){ StringBuilder sb=new StringBuilder('Hello'); sb.replace(1,3,'Java'); System.out.println(sb);//prints HJavalo } } 

산출:

오프셋 높이
 HJavalo 

4) StringBuilder delete() 메소드

StringBuilder 클래스의 delete() 메서드는 지정된 BeginIndex부터 endIndex까지 문자열을 삭제합니다.

StringBuilderExample4.java

 class StringBuilderExample4{ public static void main(String args[]){ StringBuilder sb=new StringBuilder('Hello'); sb.delete(1,3); System.out.println(sb);//prints Hlo } } 

산출:

 Hlo 

5) StringBuilder reverse() 메소드

StringBuilder 클래스의 reverse() 메서드는 현재 문자열을 반전시킵니다.

StringBuilderExample5.java

numpy 내적
 class StringBuilderExample5{ public static void main(String args[]){ StringBuilder sb=new StringBuilder('Hello'); sb.reverse(); System.out.println(sb);//prints olleH } } 

산출:

 olleH 

6) StringBuilder 용량() 방법

StringBuilder 클래스의capacity() 메서드는 Builder의 현재 용량을 반환합니다. 빌더의 기본 용량은 16입니다. 현재 용량보다 캐릭터 수가 증가하면 (oldcapacity*2)+2만큼 용량이 늘어납니다. 예를 들어 현재 용량이 16이라면 (16*2)+2=34가 됩니다.

StringBuilderExample6.java

 class StringBuilderExample6{ public static void main(String args[]){ StringBuilder sb=new StringBuilder(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('Java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 } } 

산출:

 16 16 34 

7) StringBuilder의 verifyCapacity() 메소드

StringBuilder 클래스의 verifyCapacity() 메서드는 주어진 용량이 현재 용량의 최소값인지 확인합니다. 현재 용량보다 클 경우 (oldcapacity*2)+2만큼 용량을 증가시킵니다. 예를 들어 현재 용량이 16이라면 (16*2)+2=34가 됩니다.

StringBuilderExample7.java

 class StringBuilderExample7{ public static void main(String args[]){ StringBuilder sb=new StringBuilder(); System.out.println(sb.capacity());//default 16 sb.append('Hello'); System.out.println(sb.capacity());//now 16 sb.append('Java is my favourite language'); System.out.println(sb.capacity());//now (16*2)+2=34 i.e (oldcapacity*2)+2 sb.ensureCapacity(10);//now no change System.out.println(sb.capacity());//now 34 sb.ensureCapacity(50);//now (34*2)+2 System.out.println(sb.capacity());//now 70 } } 

산출:

 16 16 34 34 70