자바(Java) 프로그램이 버전이 올라감에 따라 텍스트 블럭이라는 기능이 추가 되었습니다.
자바스크립트의 템플릿 리터럴(template Literal)과 비슷한 기능입니다.
잘못된 기억인지는 모르겠으나 자바버전 13부터 지원한다고 하여서..자바13으로 업그레이드 후 실행하려 하였으나 STS에서 아래와 같은 오류메시지를 전달 해 주었습니다.
자바 프로그램 버전이 15부터 지원한다는 오류였습니다.
그러므로..자바15를 설치하고 나서부터 사용이 가능합니다.
문자를 이제 더하기 형식으로 표시하지 않아도 이제 어떠한 형식이던지간에 깔끔하게 표기를 할 수 있게 되었습니다.
HTML, XML 이나 YML같은 형식의 데이터를 이쁘게 이제 작성할 수 있을 것 같습니다.
또한 이스케이프 문자도 전부 지원합니다.
아래 간단한 테스트 사진을 첨부하였습니다.
JPA에서의 쿼리문이나 QueryDSL 기능을 사용할 때 좀더 깔금해 지지 않을 까 생각 해 봅니다.
조금 아쉬운점은 자바스크립트(Javascript)에서는 템플릿 리터럴(template Literal)을 사용할 때 "${변수}" 명령어를 입력하면 스스로 값을 찾아서 바꾸어줍니다.
* 자바스크립트 템플릿 문자열
let data1 = 'world'
let data2 = '!!'
let text =`hello ${data1} ${data2}` // hello world !!
그런데 자바(Java)에서는 이를 구현하기 위해서는 replace 메소드나 formatted 메소드를 활용하여야 합니다.
이런 건 조금 아쉬운 것 같습니다.
* 자바 텍스트 블럭
pubilc static void test () {
String type1 = """
hello #1 #2
""".replace("#1", "world").replace("#2", "!!"); //replace메소드
System.out.println(type1);
String type2 = """
hello %s %s
""".formatted("world", "!!"); //formatted메소드
System.out.println(type2);
}
이상으로 간단하게 살펴본 텍스트블럭 기능이였습니다! 👻
궁금한점 또는 틀린부분은 언제든 연락주세요!
* 자바 13이 아니라 자바 15입니다!!
'Java(자바)' 카테고리의 다른 글
Nio 패키지 TCP 서버 종료 이벤트(Selector, ServerSocketChannel) (0) | 2023.02.15 |
---|---|
ServerSocketChannel, SocketChannel read write 메소드 사용시 주의해야 할 점 (4) | 2022.12.15 |
Java 클래스 컴파일 버전 확인(Java class check version, javap) (0) | 2021.11.22 |
Java Map 다양한 데이터 정렬하기(자바 맵 정렬 - 2) (0) | 2020.11.05 |
Javax mail 참조 및 수신기능이 되지 않을 때(Java cc, to not working) (0) | 2020.08.31 |
댓글