NumberFormatException error (parseInt)

Надеюсь, очень простой запрос, но он заставил меня почесать голову.

У меня есть строка, которая представляет собой всего лишь одно целое число, и я пытаюсь получить это целое число как целое. На первый взгляд это не должно быть проблемой.

// 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);
  ...

Это всегда вылетает с ошибкой NumberFormatException. Я не могу понять, что вызывает это, любые идеи приветствуются. Я не особо много писал на Java (в последнее время), так что могу просто забыть что-то важное или что-то еще.

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)
5
задан Alex 6 June 2012 в 20:07
поделиться