Java convertendo int para hexadecimal e vice-versa

Eu tenho o seguinte código...

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

Isso equivale affff8000

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

Então, inicialmente, ele converte o valor -32768 em uma string hexadecimal ffff8000, mas não pode converter a string hexadecimal de volta em um Integer.

Em.Net funciona como eu esperava, ereturns -32768.

Eu sei que eu poderia escrever meu próprio método para converter isso sozinho, mas estou apenas imaginando se estou perdendo alguma coisa, ou se isso é genuinamente um bug?

questionAnswers(10)

yourAnswerToTheQuestion