Java StringBuffer 및 StringBuilder 클래스
문자열을 수정할 때 StringBuffer 및 StringBuilder 클래스 를 사용해야합니다.
String 클래스와 달리 StringBuffer 및 StringBuilder 클래스의 개체는 사용하지 않는 새 개체를 생성하지 않고도 여러 번 수정할 수 있습니다.
StringBuilder 클래스는 Java 5에서 제안되었습니다.이 클래스와 StringBuffer의 가장 큰 차이점은 StringBuilder의 메서드가 스레드로부터 안전하지 않다는 것입니다 (동 기적으로 액세스 할 수 없음).
StringBuilder는 StringBuffer보다 속도 이점이 있으므로 대부분의 경우 StringBuilder 클래스를 사용하는 것이 좋습니다. 그러나 응용 프로그램에 스레드 안전성이 필요한 경우 StringBuffer 클래스를 사용해야합니다.
StringBuffer 메소드
public StringBuffer append (String s)
는 지정된 문자열을이 문자 시퀀스에 추가합니다.
public class append {
public static void main(String []args){
StringBuffer sb1 = new StringBuffer("gao ze wei zhen shuai.");
StringBuffer sb2 = new StringBuffer("gao ze wei zhen shuai.");
StringBuffer sb3 = new StringBuffer("gaozewei+");
String a = "gao ze wei";
String b = "zhen shuai.";
String c = "";
String d = "gzwgehsrtsh";
sb1.append(sb2);
c = a + b;
sb3.append(d, 3, 9);
System.out.println(sb1);
System.out.println(c);
System.out.println(sb3);
}
}
public StringBuffer reverse ()
는이 문자 시퀀스를 반전 된 형식으로 대체합니다.
public delete (int start, int end)
는이 시퀀스의 하위 문자열에있는 문자를 제거합니다.
public class Test {
public static void main(String args[]) {
StringBuffer sb = new StringBuffer("Welcom to yiibai.com");
sb.delete(3, 7);
System.out.println(sb);
}
}
Java
执行上面示例代码,得到以下结果:
Welto yiibai.com
public insert (int offset, int i)
는 int 매개 변수의 문자열 표현을이 시퀀스에 삽입합니다.
public class StringBufferDemo {
public static void main(String[] args) {
StringBuffer buff = new StringBuffer("zyxwvut");
System.out.println("buffer = " + buff);
buff.insert(2, 989);
System.out.print("After insertion = ");
System.out.println(buff.toString());
}
}
/* 让我们来编译和运行上面的程序,这将产生以下结果:
buffer = zyxwvut
After insertion = zy989xwvut
replace (int start, int end, String str)
은이 시퀀스의 하위 문자열에있는 문자를 주어진 문자열에있는 문자로 바꿉니다.
String str3="abcd";
String str4=str3.replace("ab","ff");
System.out.println(str4);
输出结果为:
ffcd
StringBuffer str1=new StringBuffer("abcde");
StringBuffer str2=str1.replace(0,1,"ff");
System.out.println(str2);
输出结果为:
ffbcde
다음 목록의 메서드는 String 클래스의 메서드와 유사합니다.
1 int capacity ()
는 현재 용량을 반환합니다.
2 char charAt (int index)
는이 시퀀스의 지정된 인덱스에있는 char 값을 반환합니다.
3 void ensureCapacity (int minimumCapacity)
는 용량이 지정된 최소값 이상인지 확인합니다.
4 void getChars (int srcBegin, int srcEnd, char [] dst, int dstBegin)
은이 시퀀스의 문자를 대상 문자 배열 dst로 복사합니다.
5 int indexOf (String str)
는 문자열에서 지정된 부분 문자열이 처음 나타나는 인덱스를 반환합니다.
6 int indexOf (String str, int fromIndex)
는 지정된 인덱스에서 시작하여 문자열에서 지정된 하위 문자열의 첫 번째 발생 인덱스를 반환합니다.
7 int lastIndexOf (String str)
은이 문자열의 맨 오른쪽에 나타나는 지정된 하위 문자열의 인덱스를 반환합니다.
8 int lastIndexOf (String str, int fromIndex)
는 String 객체에서 하위 문자열의 마지막 발생 위치를 반환합니다.
9 int length ()
는 길이 (문자 수 )를 반환합니다.
10 void setCharAt (int index, char ch)
주어진 인덱스의 문자를 ch로 설정합니다.
11 void setLength (int newLength)
는 문자 시퀀스의 길이를 설정합니다.
12 CharSequence subSequence (int start, int end)
는이 시퀀스의 하위 시퀀스 인 새 문자 시퀀스를 반환합니다.
13 String substring (int start)
은 현재이 문자 시퀀스에 포함 된 문자 하위 시퀀스를 포함하는 새 문자열을 반환합니다.
14 String substring (int start, int end)
은 현재이 시퀀스에 포함 된 문자 하위 시퀀스를 포함하는 새 문자열을 반환합니다.
15 String toString ()
은이 시퀀스에있는 데이터의 문자열 표현을 반환합니다.