检查String是否在范围内

时间:2017-06-15 05:13:54

标签: java

我有一个String loanTerm类型的变量,想要检查它是否在1-999范围内。它可以包含NA或1-999之间的数字(不包括小数),也不能为空。我使用了@NotNull,@ Range(min = 1,max = 999),但无法执行完整的验证。

3 个答案:

答案 0 :(得分:0)

如果要查看某个范围内的字符串是否最简单的方法是使用带有String.compareTo()方法的if语句:

if(str.compareTo(lower) > 0 && upper.compareTo(str) < 0){
       System.out.println("inside the range");
   }

答案 1 :(得分:0)

pojo类中的

对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值作为方法的返回值。但是,如果您不需要它的值,则只需从方法中返回一个布尔值。