Text Blocks
문법은 Java 15
에서 추가된 기능으로 두 줄 이상의 문자열을 보다 간편하게 작성할 수 있는 문법입니다.
기존 자바에서 여러줄의 문자열은 다음과 같이 표현했었습니다.
String str = "Hello " +
"world! " +
"Java";
코드 상에서 개행을 위해서는 +
연산자를 이용해 문자열을 연결해야하는 다소 번거롭게 작성해야했습니다. 특히 HTML
이나 SQL
을 문자열로 넣는 경우 가독성이 떨어진다는 단점이 발생했습니다.
그래서 Java 15에서 Text Blocks
를 도입하게 되었으며 다음과 같이 쌍따옴표 세 개를 이용하여 블록을 표현합니다.
//마크다운 코드 블럭에서는 코드 색이 제대로 적용되지 않습니다.
String str1 = """""";
String str2 = """
Hello World!
""";
String html = """
<html>
<body>
<p>Hello HTML</p>
</body>
</html>
""";
String sql = """
SELECT *
FROM items_table
WHERE id = 1;
""";
Text Blocks
에서 큰따옴표는 이스케이프 처리 없이 그냥 사용합니다.
String str = """
"Hello World!"
""";
또한 """
을 사용하고 싶다면 다음과 같이 사용합니다.
String str = """
"Hello World!"
Hello /"""
""";
다음 HTML이 담긴 문자열에서 들여쓰기는 총 12칸 입니다.(4칸 탭 3번)
String html = """
<html>
<body>
<p>Hello HTML</p>
</body>
</html>
""";
이때 문자열에서 가장 최소로 줄여쓰기 된 항목을 선택하고 다른 문자열에서도 해당 들여쓰기 수 만큼 초반 들여쓰기 공백을 제거하고 문자열을 연산합니다.
"
<html>
<body>
<p>Hello HTML</p>
</body>
</html>
";