본문 바로가기
👩‍💻 BackEnd/☕️ 자바 [Java]

[JAVA] StringBuilder

by minhe2810 2023. 4. 29.

문자 열이 1개 이상 있어서 이것들을 더해야한다고 하면? 

 

stringbuilder를 사용할 수 있어요! 

 

많은 문자열을 연결하면 객체를 중간에 너무 많이 생성해야해서 비효율적인 코드를 짜게 된다. 

 

String 객체는 한번 생성하면 변경이 불가능하다. 

 

따라서 하나의 문자열을 다른 문자열과 연결을 하면 새 문자열이 생성되고 이전 문자열은 가비지 컬렉터로 들어가게 된다고 한다. 

 

따라서 stringBuilder를 사용해볼 수 있다. 

stringBuilder는 변경 가능한 문자열을 만들어주기 때문에 string을 여러개 합치는 작업을 할 때는 아주 효율적인 방법이다! 

public class Main {
	public static void main (String[] args){
	
    StringBuilder sb = new StringBuilder(); 
    sb.append("apple").append("juice");
    
    String str = sb.toString(); 
    
    System.out.println(sb);   //  <-- a   a, b같은 값을 출력
    System.out.println(str);  //  <-- b 

    }
}

 

먼저 stringBuilder의 객체 sb를 생성한 뒤, append()의 인자로 연결하고자 하는 문자열을 넣어서 stringBuilder의 객체를 통해서 호출한다. 

 

그리고 출력 시에는 .toString()을 붙여야 하고, String 변수에 넣을 때도 마찬가지이다. 

 

<반복문에서의 stringBuilder 사용>

 

public class Main {
	public static void main (String[] args){
    	StringBuilder sb = new StringBuilder(); 
        ArrayList<String> list = new ArrayList<>(); 
        
        list.add("orange");     
        list.add("strawberry");
        list.add("banana");   
        
        for(int i = 0; i < list.length(); i++ ){ 
         	sb.append(list.get(i));
            } 
        System.out.println(sb);  
    }

}

멋진 블로그 글을 보고 나중에 혼자 꺼내보기 위해 정리한 내용입니다. 

https://onlyfor-me-blog.tistory.com/317 

 

[JAVA] StringBuilder란? StringBuilder 사용법

자바에서 문자열하면 String을 대개 많이 떠올리고 사용할 것이다. 그런데 이 문자열이 1개 이상 있어서 이것들을 더해야 한다고 하면 어떤 방법을 쓸 수 있을까? 간단하게는 이 방법을 쓸 수 있을

onlyfor-me-blog.tistory.com