더북(TheBook)

019 여러 줄 문자열(텍스트 블록) 선언

 

이 책을 쓸 당시 JDK 12에는 JEP 326: 원시 문자열 리터럴(Raw String Literals)이라 알려진 여러 줄 문자열 추가 제안이 있었다. 하지만 마지막 순간에 제외됐다.

JDK 13에서 이 개념을 다시 검토함에 따라 제외됐던 원시 문자열 리터럴과 다르게 다음과 같이 텍스트 블록을 세 개의 큰따옴표로 감싸기 시작했다.

String text = """My high school,
the Illinois Mathematics and Science Academy,
showed me that anything is possibleand that you're never too young to think big.""";

TIP ≣ 여러 줄짜리 SQL 문을 작성하거나 다국어를 사용할 때 텍스트 블록이 매우 유용하다. 자세한 내용은 https://openjdk.java.net/jeps/355를 참고한다.

그렇지만 JDK 13 이전 버전에도 몇 가지 해법은 있다. 이러한 해법은 공통적으로 줄 구분자(line separator)를 사용한다.

private static final String LS = System.lineSeparator();

JDK 8부터는 다음과 같이 String.join()을 이용하면 된다.

String text = String.join(LS,
  "My high school, ",
  "the Illinois Mathematics and Science Academy,",
  "showed me that anything is possible ",
  "and that you're never too young to think big.");
신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.