BackEnd/Java

Java 15. Text Block

hanseom 2024. 12. 7. 09:00
반응형

Text Block

  Java 13 preview, Java 15 정식 기능으로 출시된 Text Block은 큰따옴표(") 3개를 사용해서 여러 줄에 걸친 문자열을 만들기 위한 새로운 Java 문법입니다.

public class Main {
  public static void main(String[] args) {
    String str1 = "A\nBC\nDEF";
    String str2 = "A\n" +
        "BC\n" +
        "DEF";
        
    // Text Block
    String str3 = """
        A
        BC
        DEF
        """;
    System.out.println(str3);
  }
}

 

Text Block 특성

  • 시작하는 """ 다음에는 문자가 들어올 수 없습니다. 그렇기 때문에 """ABC""" 처럼 한 줄로 문자열을 적을 수 없습니다.
  • Text Block 안에서 큰따옴표 사용 시 \" 대시 "만 사용해도 됩니다. 작은 따옴표도 동일합니다.
  • 각 라인의 문자열 끝에 공백을 만들면 사라져 버립니다. 공백을 사용하기 위해서는 다음과 같은 방법들이 있습니다.
// replace
String str1 = """
A$$
BC$
""".replace('$', ' ');

// fence
String str2 = """
A  |
BC |
""".replace("|\n", "\n");

// octal escape sequence
String str3 = """
A\040\040
BC\040
""";

// escape 문자 \s
String str4 = """
A \s
BC\s
""";
  • 한 줄로 된 긴 문자열을 Text Block으로 쓰고 싶은 경우, 다음과 같이 escape 문자 (\)를 사용하면 개행 문자가 사라집니다.
String str = """
A \
BC \
DEF
""";  // result: A BC DEF
  • 들여쓰기와 탭을 동일하게 "한 칸"으로 간주합니다.
반응형