2017-10-30 4 views
-5

Das charAt funktioniert nicht ... Es gibt den Hash-Code und nicht den Wert eines Teils in einer Struktur zurück.CharAt in Java 8

Bsp .: charAt (0), wobei '1' 49 zurückkehrt und nicht 1

Was bin ich in der Lage zu tun ?!

+0

Willkommen bei Stack Overflow! Bitte poste ein [mcve]. Es ist nicht klar, was dein Code ist. – 4castle

+6

Es ist richtig. Es gibt das Zeichen '1' zurück, das, wenn es als 'int' behandelt wird, den Wert 49 hat. –

+0

Ihr Code wandelt den zurückgegebenen Wert in ein int ... um es in 'char' zurück zu werfen und Sie werden' 1' sehen – alfasin

Antwort

2

Es >> ist < < funktioniert. Es gibt dieses Zeichen als char zurück, das (vermutlich) Sie einem int zuweisen und drucken. Der numerische Wert des ASCII/Unicode-Codepunkts für das Zeichen '1' ist 49. Wenn Sie dies als Zeichen drucken/anzeigen möchten, werfen Sie die int auf eine char. (Oder ordnen Sie es nicht zuerst einem int zu.)

Für den Datensatz ist der hashCode-Wert, der von Character zurückgegeben wird, identisch mit dem Zeichenwert. Streng genommen hat char keinen hashCode, weil es ein primitiver Wert ist und Primitive keine Methoden haben.

+0

Um Ihre Antwort hinzuzufügen, ist es wahrscheinlich auch erwähnenswert, dass ein Wert von chars int der Wert [ascii value] ist (https://www.cs.cmu.edu/~pattis/15-1XX/common/handouts/ascii.html). – luckydog32

+0

Fertig. Vielen Dank. –