Heim > Java > javaLernprogramm > Warum gibt die Konvertierung eines Int in ein Char in Java eine leere Ausgabe zurück?

Warum gibt die Konvertierung eines Int in ein Char in Java eine leere Ausgabe zurück?

Linda Hamilton
Freigeben: 2024-11-10 13:18:03
Original
703 Leute haben es durchsucht

Why Does Converting an Int to a Char in Java Return an Empty Output?

Eintauchen in Zeichenkonvertierungen: Int zu Char in Java

Beim Bearbeiten von Daten in Java treten häufig Szenarien auf, in denen Konvertierungen zwischen primitiven Datentypen durchgeführt werden notwendig. Ein solches Szenario beinhaltet die Konvertierung einer Ganzzahl (int) in ein Zeichen (char). Obwohl diese Konvertierungen einfach erscheinen mögen, können sie zu unerwarteten Ergebnissen führen, wenn sie nicht sorgfältig angegangen werden.

Bedenken Sie den folgenden Java-Codeausschnitt:

int a = 1;
char b = (char) a;
System.out.println(b);
Nach dem Login kopieren

Wenn Sie diesen Code ausführen, werden Sie möglicherweise überrascht sein um eine leere Ausgabe anstelle des erwarteten Zeichens „1“ zu finden. Um zu verstehen, warum dies geschieht, ist es wichtig, sich mit den inneren Abläufen dieser Konvertierung zu befassen.

Beim Umwandeln eines int in ein char behandelt Java das int als Unicode-Codepunkt. Im obigen Beispiel hat int 1 den Unicode-Codepunkt 1, der dem Steuerzeichen „Start-of-Heading“ entspricht. Dieses Zeichen ist nicht druckbar und erzeugt daher eine leere Ausgabe.

Um dieses Problem zu beheben und das erwartete Zeichen „1“ zu erhalten, müssen Sie den int als numerischen Wert und nicht als Codepunkt behandeln. So können Sie das erreichen:

int a = '1';
char b = (char) a;
System.out.println(b);
Nach dem Login kopieren

In diesem Snippet geben Sie die „1“ als Zeichen an, indem Sie sie in einfache Anführungszeichen setzen. Der Wert dieses Zeichens ist 49, der Unicode-Codepunkt für „1“. Die korrekte Umwandlung dieses Zeichens in ein Zeichen erzeugt die gewünschte Ausgabe.

Darüber hinaus können Sie auch die folgenden Methoden verwenden, um ein int in ein char umzuwandeln:

  • Integer.valueOf(int) .charValue(): Gibt die char-Darstellung des int zurück.
  • Character.forDigit(int, int radix): Konvertiert ein int zu einem Zeichen, das die Ziffer darstellt, die der angegebenen Basis entspricht (z. B. 10 für Dezimalzahl).
  • Character.toChars(int codePoint): Gibt ein Zeichenarray zurück, das den Unicode-Codepunkt des int darstellt.

Wenn Sie diese Techniken verstehen, können Sie in Java effektiv zwischen int und char konvertieren, um genaue Konvertierungen sicherzustellen und unerwartete Ereignisse zu vermeiden Ergebnisse.

Das obige ist der detaillierte Inhalt vonWarum gibt die Konvertierung eines Int in ein Char in Java eine leere Ausgabe zurück?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage