StringBuilder
은 텍스트를 작성하는 데 사용됩니다. 내부적으로는 문자 배열을 사용하여 추가 한 텍스트를 보유합니다. capacity
은 배열의 크기입니다. length
은 현재 배열에서 사용되어야하는 텍스트로 채워지는 양입니다. 그래서 함께 :
StringBuilder sb = new StringBuilder(1000);
sb.append("testing");
capacity()
은 1000 (이 내부 배열이 더 큰 것으로 교체 할 필요가 전에 1000 자위한 공간입니다), 그리고 length()
는 (배열의 일곱 개 의미있는 문자가) 7.
StringBuilder
에 용량을 초과하는 텍스트를 추가하려고하면 더 큰 새 버퍼를 할당하고 메모리 사용 및 성능에 영향을주는 내용을 복사해야하므로 용량이 중요합니다.
StringBuilder sb = new StringBuilder();
sb.append("Singing:");
sb.append("I am the very model of a modern Major General");
이 ... 그 배열로 char[16]
와 StringBuilder
, 복사 "Singing:"
를 만들고 : 예를 들어, StringBuilder
의 기본 용량은 현재 16 개 이렇게 문자 (이 문서화되지 않고 변경 될 수 있습니다)입니다 새 배열을 만들고 두 번째 문자열을 추가 할 수 있기 전에 내용을 복사해야합니다. 두 번째 문자열을 추가 할 공간이 충분하지 않기 때문에 두 번째 문자열을 추가 할 수 있습니다.
* 는
'length()'는 현재 얼마나 많은 내용이 들어 있는지를 나타냅니다. 'cacacity()'는 현재 공간을 차지하는 정도입니다. – khelwood