Preskočiť na hlavný obsah

Text Blocks

Od Java 15 sú textové bloky k dispozícii ako štandard. V Java 13 a 14 je potrebné túto feature povoliť (preview).

Zatiaľ posledná verzia platformy Java je ver. 15, alebo keď chcete presnejšie JDK 15 rel. 2020-09-16. Posledná LTS (verzia dlhodobej podpory) bola JDK 11 zo septembra 2018.

Text Blocks

Aj vy máte problém s tým, keď máte dlhý String a potrebujete ho dať do premennej priamo v kóde? Samozrejme, riadok je potom dlhý a pretečie... 

Vlastnosť Text Blocks umožňuje zápis textov (string reťazcov) na viac riadkov bez toho, aby ste ich museli spájať operátorom "+". Ide to veľmi jednoducho. Poďme sa na to pozrieť prakticky.

Text Blocks sú na začiatku a konci bloku označené trojitými úvodzovkami (""""). V takejto forme môžu obsahovať text rozdelený do viacerých riadkov bez potreby zadávať znak nového riadku \n. Java kompilátor je pri tejto novej funkcii tak trochu "smart" a snaží sa automaticky odstraňovať prebytočné biele znaky (medzery, tabulátory) zo začiatku riadku.

Ktoré znaky sú pokladané za prebytočné? Ako funguje toto automatické odstraňovanie? Pozrime sa na príklad:

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

Tento krátky snippet HTML reťazca začína tagom <html> . Je dôležité, že prvý text nesmie začínať na riadku s trojitými úvodzovkami, ale až na riadku ďalšom. Keďže je tento prvý riadok odsadený, z ďalších riadkov budú odstraňované biele znaky práve na šírku tohto odsadenia.


Obľúbené príspevky z tohto blogu

mysql 5.0 upgrade to 5.1

The 5.1 series of MySQLwas unmasked for the gentoo portage. When upgrading from an older major version (including 5.0), you will be required to rebuild everything linked to the libmysqlclient.so.15 and libmysqlclient_r.so.15. You can do this by installing app-portage/gentoolkit and running: # revdep-rebuild --library libmysqlclient.so.15 # revdep-rebuild --library libmysqlclient_r.so.15 If you use the Portage 2.2 series, you may also use: # emerge @preserved-rebuild The official upgrade documentation is available here: http://dev.mysql.com/doc/refman/5.1/en/upgrading.html Note that existing databases may need converting as well, again including those upgrading from 5.0 to 5.1.

JDK 8

The goal of this Project is to to produce an open-source reference implementation of the Java SE 8 Platform, to be defined by JSR 337 in the Java Community Process. This Project is sponsored by the Build Group. History and status JDK 8 as presently conceived is the second part of Plan B. The proposed release-driver features are the Lambda and Jigsaw Projects. Additional features will be included, but they must fit into the schedule required for the release drivers. Now that work on JDK 7 is winding down, the next couple of months will be devoted to planning JDK 8 in detail. The proposed JEP Process will be a key part of this effort. Details on how Committers can participate in that process will be available shortly. Plan A: JDK 7 (as currently defined) Mid 2012 Plan B: JDK 7 (minus Lambda, Jigsaw, and part of Coin) Mid 2011 JDK 8 (Lambda, Jigsaw, the rest of Coin, ++) Late 2012