首页 > 解决方案 > 将字符串转换为 Int Java 时出错

问题描述

所以我收到一个 IP/PortNumber:WaitTime 形式的字符串作为字符串。我已经在“:”上拆分了这两个部分,所以我收到两部分,IP/Potnumber 作为一个,WaitTime 作为另一个字符串。我试图将此字符串转换为 int,但我不断收到字符串无效的错误。

错误:

这是显示第二个代码块输出的更新图像。 print statmetn 显示没有空格 这就是我从用户那里获取输入的方式。[![][3]][3]

public static int GetJob (String recieved) {
    String[] arrOfJob = recieved.split(":");
    int accjob =0;
    try {
        accjob = Integer.parseInt(arrOfJob[1]);
    } catch(NumberFormatException ex){
        System.out.println(ex);
    }
    return accjob;
}


public static int GetJob (String recieved) {
    String[] arrOfJob = recieved.split(":");
    int accjob =0;
    System.out.print("/"+arrOfJob[1]+"/");
    try {
        accjob = Integer.parseInt(arrOfJob[1]);
    } catch(NumberFormatException ex){
        System.out.println(ex);
    }
    return accjob;
}

标签: javastringparsinginteger

解决方案


尝试java中的instanceof并检查您是否正在解析字符串或双精度或其他数据类型。

例子 :

Integer i = 0;
if(i instanceof Integer) {
    System.out.println("true");
}

输出 :

true

确保变量应该是对象(整数,双精度,..)而不是原始类型(整数,双精度,..)。

对于不可解析的值,将出现 NumberFormatException 的原因。


推荐阅读