java.lang.NumberFormatException : For input string: "5

标签 java string numberformatexception

当我运行此 Java 代码时:

public void run(){
    String stringPacketData=null;
    try {
        stringPacketData = new String(clientPacketData,"UTF-8");
    } catch (UnsupportedEncodingException e) {
        e.printStackTrace();
        System.exit(1);
    }       
    String[] splitString=stringPacketData.split("@");
    this.clientID = Integer.parseInt(splitString[0]);
    String op="";

    op=splitString[1];
    if(op.equalsIgnoreCase("popola_cache")){
        popolamentoCache(Integer.parseInt(splitString[2]));
    }
    else{
        System.exit(0);
    }
} 

如果 stringPacketData 的格式为:idClient@operationType@dimCache,则会抛出以下异常:

Exception in thread "Thread-2" java.lang.NumberFormatException: For input string: "5"
at java.lang.NumberFormatException.forInputString(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at java.lang.Integer.parseInt(Unknown Source)
at UDPSocketBased.WorkerUDP.run(WorkerUDP.java:53)

WorkerUDP.java:53语句对应于: popolamentoCache(Integer.parseInt(splitString[2]));

我不明白为什么我的输入字符串“5”的格式不正确。

最佳答案

首先,您需要在尝试解析字符串之前修剪它

this.clientID = Integer.parseInt(splitString[0].trim());

关于java.lang.NumberFormatException : For input string: "5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29648012/

相关文章:

java - 如何以用户友好的文本以编程方式替换 Spring 的 NumberFormatException?

java - Netbeans 配置问题

将 C 字符串转换为全低

java - 在Java中四舍五入的双值

ios - 只替换字符串中的粗体字,Swift

c# - 从写入字符串的 xml 文件中删除标签?

java - Android Java - 解析 "76"时出现 NumberFormatException

java - jvm中的异步异常

java - 无法获取 WhitePages.com 的 XPath?

java - 签署 REST API 调用 : comon MAC algorithm for Java, php、Ruby