将字符串转换为整数将返回nullPointerException

时间:2018-07-05 15:13:20

标签: java

我正在尝试将字符串转换为整数,但是如果不可能的话。

我希望该整数变量具有一个null值,但是当字符串不可转换时,我会不断获取空指针异常,而在这种情况下,我需要它来捕获异常并按照我想要的方式进行处理是将null放在整数变量中。

这是我的代码:

String numt=request.getParameter("telephoneClient");
Integer tel;
try{
    tel=Integer.parseInt(numt);
} catch(NullPointerException ex1)
{
    tel=null;
} catch (NumberFormatException ex2) 
{
    tel=null;
} catch(Exception ex)
{
    tel=null;
}

1 个答案:

答案 0 :(得分:-1)

有关INteger.parseInt错误的更多信息,请查看此question。要绕过NPE,可以在尝试解析为numt之前对Integer进行空检查。

String numt=request.getParameter("telephoneClient");
Integer tel;
if(null ==numt){
  tel = numt;
  return tel;
}
else{
    try{
        tel=Integer.parseInt(numt);
    } catch(NullPointerException ex1)
    {
        tel=null;
    } catch (NumberFormatException ex2) 
    {
        tel=null;
    } catch(Exception ex)
    {
        tel=null;
    }
}

在try块之前添加了空检查。如果为null,则tel = null,然后返回