Java conversion de int en hex et de retour à nouveau

J'ai le code suivant...

int Val=-32768;
String Hex=Integer.toHexString(Val);

Cela équivaut à ffff8000

int FirstAttempt=Integer.parseInt(Hex,16); //Error "Invalid Int"
int SecondAttempt=Integer.decode("0x"+Hex);  //Error "Invalid Int"

Donc, d'abord, il convertit la valeur -32768 dans une chaîne hexadécimale de ffff8000, mais il ne peut pas convertir la chaîne hexadécimale de retour dans un Entier.

Dans .Net il fonctionne comme je m'attends, et returns -32768.

Je sais que je pourrais écrire ma propre petite méthode pour convertir moi-même, mais je me demande si je suis absent quelque chose, ou si c'est réellement un bug?

InformationsquelleAutor Rich S | 2012-08-17