Système: Windows Vista 32 bits, Java 6.0.2Conversion Chars à Ints en Java
J'ai quelques questions au sujet de la conversion de caractères à ints. J'exécuter le code ci-dessous, en laissant myInt une valeur de 4:
char myChar = '4';
int myInt = myChar - '0';
Maintenant, est-ce quelque chose de conversion que Java automatiquement? La valeur ascii de '0' a-t-elle été soustraite de 'ascii' 4, puis a été envoyée à un int dans les coulisses? Cela est source de confusion pour moi parce que lorsque je tente de l'opération inverse, je dois effectivement jeter le résultat comme char:
int anotherInt = 5;
char newChar = anotherInt + '0'; //gives error
char newChar = (char)(anotherInt + '0'); //works fine
Est-ce survenant parce que Java est coulée automatiquement (anotherInt + « 0 ») à un int , comme dans le premier exemple? Je vous remercie.
Essayez-le avec 'int's et' long' s et voir ce qui se passe. 'int myInt = 1L' –