Java에는 String Class 및 StringBuffer 클래스 (버퍼 문자열 처리 클래스)의 두 가지 종류의 문자열 작업이 있습니다.
둘의 차이점에 대해 간단히 이야기합시다.
문자열 클래스와 StringBuffer 클래스는 문자열 작업을 구현하기위한 해당 방법을 제공하지만 둘은 약간 다릅니다.
(1) 문자열 클래스
이 클래스가 문자열을 생성하면 그 객체가 불변입니다. 문자열 클래스의 내용과 길이는 고정되어 있습니다. 프로그램이 문자열 정보를 얻어야하는 경우 시스템에서 제공 한 다양한 문자열 작동 방법을 호출해야합니다. 다양한 시스템 방법을 통해 작업을 문자열에 적용 할 수 있지만 객체 인스턴스 자체를 변경하지는 않지만 새 인스턴스가 생성됩니다. 시스템은 문자열 클래스 객체에 대한 메모리를 할당하며, 객체에 포함 된 실제 문자 수에 따라 할당됩니다.
(2) StringBuffer 클래스
버퍼링을 의미하는 단어 버퍼를 확인 했으며이 클래스에는 버퍼링 기능이 있어야합니다. 이 클래스는 가변 문자열을 처리합니다. StringBuffer 클래스 문자열을 수정하려면 새 문자열 객체를 만들 필요가 없지만 원래 문자열을 직접 작동시킵니다. 이 클래스의 다양한 문자열 작동 방법은 문자열 클래스에서 제공하는 것과 다릅니다. 시스템이 StringBuffer 클래스에 대한 메모리를 할당하면 현재 문자가 차지하는 공간 외에도 추가 16 문자 버퍼도 제공합니다. 각 StringBuffer 객체에는 특정 버퍼 용량이 있습니다. 문자열 크기가 용량을 초과하지 않으면 새로운 용량이 할당되지 않습니다. 문자열 크기가 용량을 초과하면 용량이 자동으로 증가합니다.
다음은 몇 가지 구체적인 예입니다
문자열 연결
문자열 클래스에는 두 가지 방법이 있습니다
첫 번째 유형 ( "+")
public class str {public static void main (String [] args) {String str1 = "특수 효과 추가!"; 문자열 str2 = "duang ~~"; System.out.println (str1+""+str2); }}두 번째 유형 ( "concat")
public class str {public static void main (String [] args) {String str1 = "특수 효과 추가!"; 문자열 str2 = "duang ~~"; System.out.println (str1.concat (str2)); }}StringBuffer 클래스의 방법
public class str {public static void main (String [] args) {// strings strings stringsbuffer sb = new StringBuffer ( "특수 효과 추가!")를 작성하는 객체를 구성합니다. // Append 메소드를 사용하여 새 문자열 SB.Append ( "duang ~~"); System.out.println (SB); }}최종 출력 결과는 다음과 같습니다. 특수 효과 추가! Duang ~~
위의 예에서 문자열 클래스가 확장 될 때 두 개의 객체를 인스턴스해야한다는 것은 어렵지 않습니다. 각 객체는 일정량의 메모리를 차지합니다. StringBuffer 클래스는 새 클래스를 인스턴스화 할 필요가 없으며 확장 메소드 만 호출하면됩니다.
StringBuffer 클래스의 메모리 용량이 확장 가능한 지점도 있습니다. 구체적인 예를 들어 봅시다 :
public class str {public static void main (String [] args) {// 선언 문자열 객체 sb stringbuffer sb = new StringBuffer (40); System.out.println (sb.capacity ()); // 출력 문자열 용량 용량 SB.ENSURECAPACITY (100); // 용량 system.out.println (sb.capacity ()); // 출력 문자열 용량 용량}}용량 () 메소드는 메모리에서 문자열을 수용 할 수있는 문자열 객체의 수를 나타냅니다. 메모리 용량을 확장하려면 ensurecapacity () 메소드를 사용할 수 있습니다.
위는이 기사의 모든 내용입니다. 모든 사람의 학습에 도움이되기를 바랍니다. 모든 사람이 wulin.com을 더 지원하기를 바랍니다.