Preskočiť na hlavný obsah

Príspevky

Zobrazujú sa príspevky z dátumu 2020

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á...

Java block as a class member

Do you know code block? Of course you know! Block of code defines the scope of variables and puts more statemets together. But what about non-static blocks as a class member? You can put them as other class members such as static blocks, class variables and methods. E.g. static block is executed after class is loaded. This example is clasic block of code... { // block of statements: Fibonacci series int s, f1 = 0, f2 = 1; while (f1 < 100) { System.out.println(f1); s = (f1 + f2); f1 = f2; f2 = s; } } And now, try to find non-static block inside BlockTest class... public class BlockTest { // field without explicit initialization private int id; // field with ininitialization private String value = "UNDEF"; static { System.out.println("static code: executed onece when the class is loaded\n"); } { System.out.println(debug("executed before constructor, but after members initialization...