我在使用Java時發現了一個很奇怪的事情。也許這是一件普通的事情,但我不明白爲什麼它以這種方式工作。Java。爲什麼它與英語和斯拉夫語字符有所不同?
我有這樣的代碼:
Character x = 'B';
Object o = x;
System.out.println(o == 'B');
它工作正常,輸出爲「真」。 然後我改變英語B至斯拉夫B(Б):
Character x = 'Б';
Object o = x;
System.out.println(o == 'Б');
現在的輸出爲 「假」。怎麼來的? 順便說一下,如果我直接將x變量與'Б'進行比較,那麼輸出結果仍然是「真」,但是當我通過對象執行時,它的工作方式不同。
任何人都可以解釋這種行爲嗎?