希望一个非常简单的查询,但它留给我抓我的头。NumberFormatException的错误(parseInt函数)
我有一个字符串,这仅仅是一个整数,我试图再拿到该整数出来作为一个int。这面对它应该不成问题。
// 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)
由字符打印我们您的字符串的字符,并看看是否有什么好笑有 – iluxa 2011-03-10 23:37:40