어떤 문자열을 반복해서 출력하고자 할 때, 기본적으로 for문을 사용해 변수에 더해주는 방법 외에 repeat 메서드와 StringBuilder의 append 메서드를 활용할 수 있다.
repeat()
repeat()은 java 11부터 사용할 수 있는 String의 문자열 반복 메서드로, 파라미터로 주어진 수만큼 문자열을 반복하여 반환한다. 매개변수가 없을 시 빈 문자열이 반환된다.
public static void main(String args[]) {
System.out.println("String".repeat(3));
}
결과
StringStringString
for문을 사용할 때보다 훨씬 코드 길이가 줄어 간편하고 가독성을 높일 수 있다.
append()
String은 변하지 않는 클래스로, 기존의 문자열을 변경하지 않고 추가하거나 변경할 경우에 또 새로운 문자열을 생성하기 때문에 가비지 컬렉션의 효율을 떨어뜨린다. (String pool)
이와 달리 SpringBuilder 클래스는 메모리를 효율적으로 사용하여 문자열을 추가하고 삭제하고 변경할 수 있도록 한다.
StringBuilder sb = new StringBuilder(); // StringBuilder 객체 생성: 초기 +16byte
StringBuilder의 append() 메서드는 문자열을 추가할 수 있게 해준다.
public static void main(String args[]) {
StringBuilder sb = new StringBuilder();
for(int i=0; i<3; i++){
sb.append("String");
}
String str = sb.toString(); // 형변환!!
System.out.println(str);
}
결과
StringStringString
append()를 사용해 아래와 같이 개행문자를 추가해 줄 수도 있다.
public static void main(String args[]) {
StringBuilder sb = new StringBuilder();
for(int i=0; i<3; i++){
sb.append("String").append("\n");
}
String str = sb.toString(); // 형변환!!
System.out.println(str);
}
결과
String
String
String
1
'TIL > JAVA' 카테고리의 다른 글
| [Java] 제곱과 루트 구하기 : Math.pow() / Math.sqrt() (0) | 2023.12.23 |
|---|---|
| [Java] 람다식(Lambda Expressions) - 1. 람다식이란, 람다식 기본 작성법 (0) | 2023.08.11 |
| 객체 지향 프로그래밍 - 클래스와 객체 (0) | 2022.07.20 |
| Java 기초 - 반복문, 분기문 (0) | 2022.07.19 |
| Java 기초 - 조건문 (0) | 2022.06.20 |