본문 바로가기
블로그 이미지

방문해 주셔서 감사합니다! 항상 행복하세요!

  
   - 문의사항은 메일 또는 댓글로 언제든 연락주세요.
   - "해줘","답 내놔" 같은 질문은 답변드리지 않습니다.
   - 메일주소 : lts06069@naver.com


Java(자바)

Java Text blocks(자바 텍스트 블럭)

야근없는 행복한 삶을 위해 ~
by 마샤와 곰 2022. 3. 11.

 

자바(Java) 프로그램이 버전이 올라감에 따라 텍스트 블럭이라는 기능이 추가 되었습니다.

자바스크립트의 템플릿 리터럴(template Literal)과 비슷한 기능입니다.

잘못된 기억인지는 모르겠으나 자바버전 13부터 지원한다고 하여서..자바13으로 업그레이드 후 실행하려 하였으나 STS에서 아래와 같은 오류메시지를 전달 해 주었습니다.

예...? 자바15요?

 

자바 프로그램 버전이 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입니다!!

반응형
* 위 에니메이션은 Html의 캔버스(canvas)기반으로 동작하는 기능 입니다. Html 캔버스 튜토리얼 도 한번 살펴보세요~ :)
* 직접 만든 Html 캔버스 애니메이션 도 한번 살펴보세요~ :)

댓글