/*
String연산을 여러번 하는 경우에는 String 클래스를 사용하는 것보다, StringBuffer클래스를 사용해 보는 것이 좋다.
String 객체안에 저장된 문자열은 수정이 불가능한 상태이므로 문자열연산을 할 경우, 연산을 할 때마다 새로운 String 객체가
생성이 되기 때문에 많은 시간이 소요 된다.
그에 반해서 StringBuffer을 이용해서 문자열 연산을 할 경우, 그 안에 저장된 문자열을 직접 수정이 가능하기 때문에
문자열 객체가 연산시마다 생성되지 않으므로 String과 같은 시간지연을 줄일 수 있게 된다.
다음과 같은 방법으로 성능을 비교해 보려고 한다.
String 객체를 생성하고 그 객체에 1~1000까지 문자열을 루프를 돌면서 원래 문자열에 추가하려고 한다.
String 을 사용하는 경우와, StringBuffer를 사용하는 경우를 비교해서 그 시간차이를 확인해 보세요.
*/
class String_StringBuffer {
public static void main(String[] args) {
stringOperation();
stringBufferOperation();
}
static void stringOperation() {
long start = System.currentTimeMillis();
String str = "";
for(int i=0;i<=1000;i++) {
str += i;
}
long end = System.currentTimeMillis();
System.out.println(str);
System.out.println("총 소요시간:"+( end-start));
}
static void stringBufferOperation() {
long start = System.currentTimeMillis();
StringBuffer sb = new StringBuffer("");
for(int i=0;i<=1000;i++) {
sb.append(i);
}
long end = System.currentTimeMillis();
System.out.println(sb);
System.out.println("총 소요시간:"+( end-start));
}
}