[Java] Text Blocks

Bam·2025년 7월 29일
0

Java

목록 보기
100/100
post-thumbnail

Text Blocks

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>
";

0개의 댓글