Java 15 supportera les blocs de texte

Par:
admin

lun, 06/04/2020 - 15:47

Alors que Java 14 est sorti il y a quelques jours, Java 15 est déjà en préparation. Un billet sur le blog d'OpenJDK nous apprend que Java 15 supportera officiellement les blocs de texte et verra la disparition de Nashorn.

Les blocs de texte sont une fonctionnalité très demandée au sein de la communauté Java. Ils sont en fait arrivés en préversion dès Java 13, et ils sont en deuxième préversion dans Java 14. Avec Java 15, ils seront officiellement supportés et les développeurs ne devront pas craindre de les utiliser pour du code de production.

Pour mémoire, les blocs de texte sont des littéraux chaînes à plusieurs lignes. C'est tout simple, mais cela permet d'insérer beaucoup facilement, dans le code Java, des extraits de code en HTML, XML, SQL, JSON, etc.

Par exemple, le très fastidieux

String html = "<html>\n" +
              "    <body>\n" +
              "        <p>Hello, world</p>\n" +
              "    </body>\n" +
              "</html>\n";

deviendra

String html = """
              <html>
                  <body>
                      <p>Hello, world</p>
                  </body>
              </html>
              """;

ou, autre exemple,

String query = "SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`\n" +
               "WHERE `CITY` = 'INDIANAPOLIS'\n" +
               "ORDER BY `EMP_ID`, `LAST_NAME`;\n";

deviendra

String query = """
               SELECT `EMP_ID`, `LAST_NAME` FROM `EMPLOYEE_TB`
               WHERE `CITY` = 'INDIANAPOLIS'
               ORDER BY `EMP_ID`, `LAST_NAME`;
               """;

Quant à Nashorn, celui-ci était un moteur Java Script développé par Oracle pour la JVM. Mais GraalVM, également développée par Oracle, a ôté tout intérêt à Nashorn. GraalVM est une machine virtuelle universelle permettant d'exécuter des applications écrites dans des langages basés sur JavaScript, Python, Ruby, R, tels que Java, Scala, Kotlin, Clojure et LLVM, tels que C et C ++.