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