NumberFormatException erreur (parseInt)

Nous l'espérons, un très simple requête, mais il m'a laissé me gratter la tête.

J'ai une chaîne de caractères, qui est juste un simple entier, et je suis en train de l'obtenir alors que entier comme un int. Présent sur le visage de celui-ci ne devrait pas être un problème.

//this is how I create the string (it's the playload from a UDP datagram packet, 
//thought I don't think the origins hugely important - it's juts a test run so the
//stringMessage is always 1 (created by a seperate client process)

  ...
  recvSoc.receive(pac);
  String stringMessage = new String(pac.getData());
  port = pac.getPort();
  System.out.println("RECEIVED: " + stringMessage + " on port:  " + port);
  processMessage(stringMessage);
  ...

//Then in processMessage

public void processMessage(String data) {
  int message;
  message = Integer.parseInt(data);
  ...

Cela se bloque toujours avec un NumberFormatException erreur. Je ne peux pas pour la vie de me comprendre ce qui cause cela, toutes les idées grandement apprécié. Je n'ai pas codé beaucoup en Java (récemment) donc peut-être simplement oublié quelque chose d'essentiel ou ce n'est pas.

Exception in thread "main" java.lang.NumberFormatException: For input string: "1"
at java.lang.NumberFormatException.forInputString(NumberFormatException.java:65)
at java.lang.Integer.parseInt(Integer.java:481)
at java.lang.Integer.parseInt(Integer.java:514)
at udp.UDPServer.processMessage(UDPServer.java:85)
at udp.UDPServer.run(UDPServer.java:52)
at udp.UDPServer.main(UDPServer.java:156)
d'imprimer votre chaîne de caractère par caractère et de voir si quelque chose est drôle, il y

OriginalL'auteur Alex | 2011-03-10