이 게시물에서는 Java에서 String과 StringBuffer 클래스의 차이점을 이해합니다.
문자열
-
불변 클래스입니다.
-
즉, 클래스의 요소를 변경할 수 없습니다.
-
느립니다.
-
문자열을 연결할 때 메모리를 덜 소모합니다.
-
매번 새로운 인스턴스가 생성되기 때문입니다.
-
Object 클래스의 equals() 메서드를 재정의합니다.
-
따라서 '같음' 방법을 사용하여 두 문자열을 비교할 수 있습니다.
다음은 String 클래스의 예입니다 -
예
public class StringDemo { public static void main(String args[]) { String palindrome = "Dot saw I was Tod"; int len = palindrome.length(); System.out.println( "String Length is : " + len ); } }
문자열 버퍼
-
변경 가능한 클래스입니다.
-
즉, 이 클래스의 요소를 변경할 수 있습니다.
-
빠릅니다.
-
문자열을 연결할 때 더 적은 메모리를 사용합니다.
-
이 클래스는 Object 클래스의 equals() 메서드를 재정의하지 않습니다.
다음은 StringBuffer 클래스의 예입니다 -
예
public class Demo { public static void main(String args[]) { StringBuffer sBuffer = new StringBuffer("test"); sBuffer.append(" String Buffer"); System.out.println(sBuffer); } }