System: Windows Vista 32-bit, Java 6.0.2Konvertieren von Chars zu Ints in Java
Ich habe ein paar Fragen zu Zeichen zu Ints konvertieren. ich den Code unten laufen, myInt mit einem Wert von 4 verlassen:
char myChar = '4';
int myInt = myChar - '0';
Nun ist diese Umwandlung etwas, das Java automatisch tut? Wurde der ASCII-Wert von '0' von Ascii '4' subtrahiert und dann hinter die Kulissen geworfen? Dies ist für mich verwirrend, weil, wenn ich in der umgekehrten Operation versuchen, ich habe zu werfen tatsächlich das Ergebnis als Zeichen:
int anotherInt = 5;
char newChar = anotherInt + '0'; //gives error
char newChar = (char)(anotherInt + '0'); //works fine
Ist das auftritt, weil Java automatisch wirft (anotherInt + ‚0‘) in einem int , wie im ersten Beispiel? Vielen Dank.
Probieren Sie es mit 'int's und' long's und sehen was passiert. 'int myInt = 1L' –