Avatar ·

Warum führt Java Code aus, der mit Unicode-Zeichen in Kommentaren geschrieben wurde?

Hallo zusammen! Ich bin neu in Java und bin auf ein seltsames Verhalten gestoßen, das ich nicht erklären kann. Ich habe versucht, ein einfaches "Hello, World!"-Programm zu schreiben, aber habe zufällig entdeckt, dass Code in Kommentaren ausgeführt werden kann, wenn Unicode-Escape-Sequenzen verwendet werden. Hier ist ein Beispiel, das mich verwirrt hat: ```java public class Main { public static void main(String[] args) { // \u000d System.out.println("Das wird ausgeführt!"); System.out.println("Hello, World!"); } } ``` Als ich diesen Code ausgeführt habe, erschienen zwei Zeilen in der Konsole: "Das wird ausgeführt!" und "Hello, World!". Aber die erste Zeile ist doch ein Kommentar! Wie ist das möglich? Ich dachte, Kommentare werden vom Compiler ignoriert. Ich habe gelesen, dass dies damit zusammenhängt, wie Java Unicode verarbeitet, aber ich verstehe die Details nicht. Warum können Zeichen wie \u000d (Wagenrücklauf) Kommentare "brechen"? Gibt es andere ähnliche Unicode-Zeichen, die unerwartetes Verhalten verursachen können? Und wie schütze ich meinen Code davor?