Java - String 클래스의 문제점

이유석·2022년 10월 20일
0
post-thumbnail
  • String 클래스는 문자열을 다룰때 사용하는 클래스 입니다.
  • String 클래스는 불변객체 입니다.
String str1 = "hello world";
String str2 = str1.substring(5);

System.out.println(str1);
System.out.println(str2);

// String클래스를 사용할 때 가장 문제가 발생하는 경우는 다음과 같은 코드를 사용할 때 입니다.
String str3 = str1 + str2;
System.out.println(str3);

문자열과 문자열을 더하게 되면 내부적으로 다음과 같은 코드가 실행됩니다.

String str4 = new StringBuffer().append(str1).append(str2).toString();
System.out.println(str4);

문자열을 반복해서 더하는 것은 성능상 문제가 생길 수 있으니 반드시 피하도록 합시다.

String str5 = "";
for(int i = 0; i < 100; i++) {
	str5 = str5 + "*";
}
System.out.println(str5);

위 코드는 아래와 같이 바꾸는 것이 더 효율적이다.

StringBuffer sb = new StringBuffer();
for(int i = 0; i < 100; i++) {
	sb.append("*");
}
System.out.println(sb.toString());
profile
https://github.com/yuseogi0218

0개의 댓글