Notatnik techniczny

Java pułapka

Zapraszam do rozwiązania zagadki, która w zasadzie jest java pułapką. Jaki tekst zobaczymy po kompilacji i uruchomieniu poniższego programu?

package demo;
public class demo {
 public static void main(String[] args) {
 // Komentarz \u000d System.out.println("Niespodzianka, niby komentarz a tu.... ");
 System.out.println("Hello World!");
 }
}

Zobaczymy taki wynik…

Niespodzianka, niby komentarz a tu....
Hello World!

Wyjaśnieniem zagadki jest proces kompilacji języka Java. Kompilator zdekoduje znaki Unicode, zanim przystąpi do analizy leksykalnej. Tak wiec znak \u000d zostanie zamieniony na znak nowej linii. Źródło

Podobne pułapki czają się na nas też w innych środowiskach, o czym w dalszych wpisach.

Java_logo