문자열을 수정할 때는 StringBuffer 및 StringBuilder 클래스를 사용해야 합니다. String 클래스와 달리 StringBuffer 및 StringBuilder 클래스의 개체는 사용하지 않는 새 개체를 생성하지 않고도 여러 번 수정할 수 있습니다.
StringBuffer: StringBuffer 클래스를 사용하면 새로운 객체가 생성되지 않고 매번 StringBuffer 객체 자체가 동작하게 되므로, 문자열을 수정해야 하는 경우에는 StringBuffer를 사용하는 것이 좋습니다.
StringBuilder: StringBuilder 클래스는 Java 5에서 제안되었습니다. 이 클래스와 StringBuffer의 가장 큰 차이점은 StringBuilder의 메서드가 스레드로부터 안전하지 않다는 것입니다(동기적으로 액세스할 수 없음). StringBuilder는 StringBuffer에 비해 속도 이점이 있으므로 대부분의 경우 StringBuilder 클래스를 사용하는 것이 좋습니다.
StringBuilder 사용 예:
public class RunoobTest{ public static void main(String args[]){ StringBuilder sb = new StringBuilder(10); sb.append("Runoob.."); System.out.println(sb); sb.append("!"); System.out.println(sb); sb.insert(8, "Java"); System.out.println(sb); sb.delete(5,8); System.out.println(sb); } } // 实例编译运行结果如下: // Runoob.. // Runoob..! // Runoob..Java! // RunooJava!
그러나 애플리케이션에 스레드 안전성이 필요한 경우 StringBuffer 클래스 를 사용해야 합니다. StringBuffer를 사용합니다. 이 문자 시퀀스
2
public StringBuffer reverse(), 이 문자 시퀀스를 반대 형식으로 대체
public delete(int start, int end), 이 시퀀스 제거 하위 문자열의 문자 | |
---|---|
public insert(int offset, int i), int 매개변수의 문자열 표현을 이 시퀀스에 삽입합니다. | |
insert(int offset, String str) , str 매개변수의 문자열을 여기에 삽입합니다. 시퀀스 | |
replace(int start, int end, String str) , 이 시퀀스의 하위 문자열에 있는 문자를 지정된 문자열 | |
StringBuffer 클래스의 다른 일반적인 메서드: | |
메서드 설명 | |
int 용량()은 현재 용량을 반환합니다. |
char charAt(int index)는 다음을 반환합니다. 시퀀스
void verifyCapacity(int maximumCapacity), 용량이 지정된 최소값 | |
---|---|
void getChars(int srcBegin, int srcEnd, char[] dst , int dstBegin ), 이 시퀀스의 문자를 대상 문자 배열 dst | |
int indexOf(String str)에 복사하고, 문자열 | |
int에서 지정된 하위 문자열이 처음 나타나는 인덱스를 반환합니다. indexOf(String str, int fromIndex)는 지정된 인덱스에서 시작하여 string | |
int lastIndexOf(String str )에서 지정된 하위 문자열이 처음 나타나는 인덱스를 반환하고 마지막으로 나타나는 인덱스를 반환합니다. 이 문자열에서 지정된 하위 문자열 | |
int lastIndexOf(String str, int fromIndex), 이 문자열에서 지정된 문자가 마지막으로 나타나는 인덱스를 반환합니다. 지정된 인덱스에서 역방향 검색을 시작합니다 | |
int length(), 길이(문자 수) 반환 | |
void setCharAt(int index, char ch), 지정된 인덱스 반환 문자는 ch 매개 변수의 값으로 설정됩니다. | |
void setLength(int newLength), 문자 시퀀스의 길이 설정 | |
CharSequence subSequence(int start, int end), 새 문자 시퀀스 반환 , 이 문자 시퀀스는 다음의 하위 시퀀스입니다. 이 시퀀스 | |
String substring(int start)은 이 문자 시퀀스 | |
String substring(int start, int end)에 현재 포함된 문자 하위 시퀀스를 포함하는 새 문자열을 반환합니다. 현재 이 시퀀스에 포함된 문자 하위 시퀀스를 포함하는 새 문자열 | |
String toString()은 이 시퀀스에 있는 데이터의 문자열 표현을 반환합니다 | |
메소드 인스턴스: color{red}{메소드 인스턴스: }메서드 인스턴스: | reverse() 메소드 인스턴스 |
설명: | 이 문자 시퀀스를 역방향 형식으로 바꿉니다. | 매개변수:
None | 반환값: |