首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NumberFormatException错误(parseInt)

NumberFormatException错误(parseInt)
EN

Stack Overflow用户
提问于 2011-03-11 07:34:17
回答 2查看 11.9K关注 0票数 5

希望是一个非常简单的查询,但它让我摸不着头脑。

我有一个字符串,它只是一个整数,然后我试图将这个整数作为一个整数。从表面上看,这应该不是问题。

代码语言:javascript
复制
// 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写太多代码,所以可能只是忘记了一些关键的东西。

代码语言:javascript
复制
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)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-03-11 15:52:37

请注意,DatagramPackate.getData()返回整个缓冲区

您收到的数据只是其中的一部分:

接收的数据或要发送的数据从缓冲区中的offset开始,运行length

因此,要将数据转换为String,您应该使用this constructor

代码语言:javascript
复制
String message = new String(pac.getData(), pac.getOffset(), pac.getLength(), "UTF-8");

请注意,我在这里指定了UTF-8编码,因为不指定编码将导致使用平台默认编码,而这通常不是您想要的。

票数 4
EN

Stack Overflow用户

发布于 2011-03-11 07:41:55

如果字符串真正为1,则不会发生异常。所以我会说这个字符串实际上不是1

执行data.toCharArray()并打印每个字符的代码(转换为int)。例如,可能会发现在数字之前有一个隐藏字符。(编辑:在我写答案的时候,iluxa似乎在评论中提到了这个选项)

在将其传递给parseInt(..)之前尝试data = data.trim()

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5267241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档