JAVA에서 String 클래스와 String Buffer 클래스의 차이

Java에는 String 클래스와 StringBuffer 클래스(버퍼 문자열 처리 클래스)의 두 가지 문자열이 있습니다.
다음은 우선 양자의 차이를 간단하게 말해 보자.
String 클래스와 String Buffer 클래스는 문자열의 조작을 실현하는 상응하는 방법을 제공하지만 양자는 약간 다르다.
(1) String 클래스
클래스에 문자열이 생성되면 객체는 변경되지 않습니다.String 클래스의 내용과 길이는 고정되어 있습니다.만약 프로그램이 문자열의 정보를 얻으려면 시스템이 제공하는 각종 문자열 조작 방법을 호출해야 한다.여러 가지 시스템 방법을 통해 문자열을 조작할 수 있지만 이것은 대상의 실례 자체를 바꾸는 것이 아니라 새로운 실례를 만드는 것이다.시스템은 String 클래스 객체에 메모리를 할당하고 객체에 포함된 실제 문자 수에 따라 할당합니다.
(2) StringBuffer 클래스
버퍼라는 단어를 찾아봤는데 버퍼링이라는 뜻이 있어요. 이 종류는 버퍼링 기능이 있을 거예요.클래스는 가변 문자열을 처리합니다.StringBuffer 클래스의 문자열을 수정하려면 새 문자열 객체를 만들지 않고 원래 열을 직접 조작합니다.이 클래스의 다양한 문자열 조작 방법은 String 클래스가 제공하는 방법과 다르다.시스템은 StringBuffer 클래스에 메모리를 할당할 때 현재 문자가 차지하는 공간을 제외하고 16자 크기의 버퍼를 제공합니다.각 StringBuffer 객체에는 일정한 버퍼 용량이 있으며 문자열 크기가 용량을 초과하지 않으면 새 용량이 할당되지 않으며 문자열 크기가 용량을 초과하면 자동으로 용량이 증가합니다.
다음은 구체적인 실례를 들겠습니다
문자열 연결
String 클래스에는 두 가지 방법이 있습니다.
첫 번째("+")

public class str{
  public static void main(String[] args){
      String str1=" !";
      String str2="Duang~~";
      System.out.println(str1+" "+str2);
    }
  }
두 번째 ("concat")

public class str{
  public static void main(String[] args){
      String str1=" !";
      String str2="Duang~~";
      System.out.println(str1.concat(str2));
    }
  }
StringBuffer 클래스 방법

public class str{
  public static void main(String[] args){
    // sb
    StringBuffer sb=new StringBuffer(" !");
    // append , 
    sb.append(" Duang~~");
    System.out.println(sb);
  }
}
최종 출력 결과: 필터 추가!Duang~~
위의 예를 통해 알 수 있듯이 String 클래스는 확장을 진행할 때 실례적인 두 개의 대상이 필요하고 모든 대상은 일정한 메모리를 차지하지만 String Buffer 클래스는 새로운 클래스를 실례화할 필요가 없고 확장된 방법을 호출하면 된다.
그리고 StringBuffer 클래스의 메모리 용량은 확장할 수 있습니다.구체적인 예를 들다.

public class str{
  public static void main(String[] args){
     // sb
      StringBuffer sb=new StringBuffer(40);
      System.out.println(sb.capacity());   // capacity
      sb.ensureCapacity(100);         // 
      System.out.println(sb.capacity());   // capacity
    }
  }
capacity () 방법은 문자열의 대상이 메모리에 있고 문자열의 개수를 수용할 수 있음을 나타낸다.메모리 용량을 늘리려면 ensureCapacity () 를 사용하십시오.
이상은 본문의 전체 내용입니다. 여러분의 학습에 도움이 되고 저희를 많이 응원해 주십시오.

좋은 웹페이지 즐겨찾기