验证该数量应该是整数返回类型的方法

时间:2013-05-06 06:05:53

标签: java string integer pojo

我通过pojo的getter方法获取对象中的数量 但是这个数量的getter方法返回类型在pojo中设置为字符串 如下图所示

//setting need to be done in pojo
private String amount;

    public String getAmount() {
        return amount;
    }

在下面说,有对象h,我正在检索它像

h.getAmount()

现在我需要开发一个验证器来验证该数量应该是多少 是整数类型,如果不是,那么它将抛出异常 请告知我如何开发一种可以检查是否的分离方法 金额是否为整数,并以此为基础 将返回true或false,如下所示

// Validate the amount is in integer
private boolean isValidAmount (String Amount) {
    boolean valid = false;
//code to check whether the Amount is integer or not, if integer then
//return true else return false
}

我已更新帖子,因为它会引发数字格式异常,请提示

4 个答案:

答案 0 :(得分:3)

您可以尝试解析它,如果解析成功则返回true。

try {
    Integer.parseInt(amount);
    return true;
} catch (NumberFormatException e) {
    return false;
}

修改

我只是重新阅读了这个问题并注意到,对于这个true / false值,你唯一想要做的就是如果无法解析字符串,可能会引发异常。在这种情况下,你可以摆脱那个布尔中间人:

try {
    Integer.parseInt(amount);
} catch (NumberFormatException e) {
    throw new MyWhateverException(amount);
}

答案 1 :(得分:0)

为什么不尝试使用Integer.parseInt(someString); 如果失败,这将抛出NumberFormatException

答案 2 :(得分:0)

boolean flag = false;
try{
  int amount = Integer.parseInt(amount);
  flag = true;
} catch(NumberFormatException e) {
flag = flase;
}

return flag;

如果金额是整数格式,那么它不会通过任何异常 否则它将通过NumberFormatException。

获取parseInt()here的详细信息。

答案 3 :(得分:0)

public boolean isValidAmount (Object h){
   try {
       Integer.parseInt(h.amount);
       return true;
    } catch (NumberFormatException e) {
      return false;
    }
}

试试这个,可能适合你