javase 개인 쓰레기 검토 노트 05 Java StringBuffer 및 StringBuilder 클래스

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 ()
은이 시퀀스에있는 데이터의 문자열 표현을 반환합니다.

추천

출처blog.csdn.net/qq_45864370/article/details/108537582