Ich habe eine ziemlich seltsame Sache bei der Arbeit mit Java gefunden. Vielleicht ist es eine gewöhnliche Sache, aber ich verstehe nicht, warum es so funktioniert.Java. Warum funktioniert das bei englischen und slawischen Charakteren anders?
Ich habe einen Code wie folgt:
Character x = 'B';
Object o = x;
System.out.println(o == 'B');
Es funktioniert gut, und der Ausgang ist "true". Dann wechsle ich das Englisch B zu slawische B (Б):
Character x = 'Б';
Object o = x;
System.out.println(o == 'Б');
Nun ist der Ausgang "false". Woher? Übrigens, die Ausgabe ist immer noch "wahr", wenn ich die Variable x direkt mit 'Á' vergleiche, aber wenn ich es durch ein Objekt mache, funktioniert es anders.
Kann jemand bitte dieses Verhalten erklären?