클래스는
아래 코드를 고려해보세요:
String
불변 문자열을 생성합니다. 즉, 문자열에 작업을 적용하거나 문자열에 작업을 적용하면 결과는 새 문자열이 됩니다. 이 새 문자열이 어떤 변수에도 할당되지 않으면 작업 결과가 손실됩니다. 따라서 이러한 문자열에 대한 작업은 필연적으로 새 문자열을 생성하게 됩니다. 이는 추가 메모리 및 프로세서 시간 비용을 의미합니다. 문자열에 대한 작업이 많은 경우 클래스에 의해 구현되는 동적 문자열을 사용하는 것이 더 효율적인 경우가 많습니다 StringBuilder
.
String s = "Some text";
int count = 100;
for(int i = 0; i<100;i++){
s+=i;
}
**********************
StringBuilder s = new StringBuilder(110);
int count = 100;
s.append("Some text");
for(int i = 0;i<count;i++){
s.append(i);
}
위의 코드는 동일한 문제를 해결합니다. 주어진 문자열에 100개의 새로운 하위 문자열을 추가할 때. 첫 번째 예에서는 이 목적으로 클래스를 사용하는데 String
, 하위 문자열을 추가할 때마다 새 객체가 생성되므로 그다지 효율적이지 않습니다 String
. 그리고 이것은 추가적인 기억력과 시간 낭비입니다. 두 번째 예에서는 클래스를 사용하여 이 문제를 해결합니다 StringBuilder
. 우리는 미리 클래스의 객체를 생성한 다음 , 객체 자체를 다시 생성하지 않고 생성된 객체의 내용을 변경하여 필요한 문자열을 형성하는 StringBuilder
방법을 사용합니다 .append
StringBuilder
GO TO FULL VERSION