我有一个String loanTerm类型的变量,想要检查它是否在1-999范围内。它可以包含NA或1-999之间的数字(不包括小数),也不能为空。我使用了@NotNull,@ Range(min = 1,max = 999),但无法执行完整的验证。
答案 0 :(得分:0)
如果要查看某个范围内的字符串是否最简单的方法是使用带有String.compareTo()方法的if语句:
if(str.compareTo(lower) > 0 && upper.compareTo(str) < 0){
System.out.println("inside the range");
}
答案 1 :(得分:0)
对loanTerm使用以下set方法。
setloanTerm(String str){
if(str != null && str !=""&&Integer.parseInt(str) >=0 && Integer.parseInt(str)<=999){
loanTerm=str;
}
}
答案 2 :(得分:0)
首先,检查它是否为空。您可以使用Integer类来检查它是否可以转换为Integer。
Integer validateLoanTerm(String loanTerm) {
if(!StringUtils.isEmpty(loanTerm) && Integer.parseInt(loanTerm) > 0 && Integer.parseInt(loanTerm) < 999) {
return Integer.parseInt(loanTerm);
}
return null;
}
我使用Integer值作为方法的返回值。但是,如果您不需要它的值,则只需从方法中返回一个布尔值。