-
| TL; DR
 문자열 연결 연산자(+)
 String str = "a";
for (int i = 0; i < 100_000; i++) {
    str += "a";
}StringBuilder 를 통한 문자열 조작
 StringBuilder builder = new StringBuilder("a");
for (int i = 0; i < 100_000; i++) {
    builder.append("a");
}// 10만번 실행(위)
String 연산자(+) 실행시간: 1339
StringBuilder 실행시간: 3
// 50만번 실행(아래)
String 연산자(+) 실행시간: 27293
StringBuilder 실행시간: 14StringBuilder VS StringBuffer// StringBuffer 👉 synchronized 키워드가 있다.
@Override
public synchronized StringBuffer append(Object obj) {
    toStringCache = null;
    super.append(String.valueOf(obj));
    return this;
}
// StringBuilder 👉 synchronized 키워드가 없다.
@Override
public StringBuilder append(Object obj) {
    return append(String.valueOf(obj));
}문자열 연산 속도 비교하지만 대부분의 상황에서  
 왜 IntelliJ 에서 StringBuilder 보다 String 을 추천하는거지?이유는?
 단, 동적 문자열 연결은 (ex. loop문) StringBuilder 를 직접 생성해야 한다.StringBuilder result = new StringBuilder("data");
for (int i = 0; i < 100; i++) {
    result.append("some more data");
}참고자료 | 
Beta Was this translation helpful? Give feedback.
      
      
          Answered by
          
            corock
          
      
      
        Mar 14, 2023 
      
    
    Replies: 1 comment 1 reply
-
| 질문하려고 한 부분( 내용 잘 읽었습니다~ ㅎㅎ | 
Beta Was this translation helpful? Give feedback.
                  
                    1 reply
                  
                
            
      Answer selected by
        coalong
  
    Sign up for free
    to join this conversation on GitHub.
    Already have an account?
    Sign in to comment
  
        
    


질문하려고 한 부분(
StringBuilder보다String을 추천하는 이유)까지 정리하셨네요.String/StringBuffer/StringBuilder클래스 간 비교나 장단점은 기술 면접에서도 자주 물어보는 주제 중 하나로 알고 있습니다.내용 잘 읽었습니다~ ㅎㅎ