문자 열이 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
'👩💻 BackEnd > ☕️ 자바 [Java]' 카테고리의 다른 글
[자바의 정석] 12-1. 지네릭스란? (0) | 2024.01.04 |
---|---|
[자바 스터디] day01. 지네릭스, 콜렉션 프레임워크 (0) | 2023.10.10 |
[JAVA] 자바 IO (0) | 2023.04.24 |
[JAVA] 사용자 정의 Exception (0) | 2023.04.18 |
[JAVA] 내부클래스 (0) | 2023.04.17 |