我通过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
}
我已更新帖子,因为它会引发数字格式异常,请提示
答案 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;
}
}
试试这个,可能适合你