String to Int in java - Likely bad data, need to avoid exceptions

前端 未结 16 2118
迷失自我
迷失自我 2020-12-04 18:02

Seeing as Java doesn\'t have nullable types, nor does it have a TryParse(), how do you handle input validation without throwing an exceptions?

The usual way:

16条回答
  •  予麋鹿
    予麋鹿 (楼主)
    2020-12-04 18:43

    Here's how I do it:

    public Integer parseInt(String data) {
      Integer val = null;
      try {
        val = Integer.parseInt(userdata);
      } catch (NumberFormatException nfe) { }
      return val;
    }
    

    Then the null signals invalid data. If you want a default value, you could change it to:

    public Integer parseInt(String data,int default) {
      Integer val = default;
      try {
        val = Integer.parseInt(userdata);
      } catch (NumberFormatException nfe) { }
      return val;
    }
    

提交回复
热议问题