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.