如何在java中以简短形式检查字符串长度范围?

时间:2015-03-26 07:13:01

标签: java

如何在java中检查字符串范围?

if( !(str2.length() >= 3) && !(str2.length() <= 15)){
    System.out.println("Minumum length required");
}

而不是像上面那样使用。有什么短暂的吗?

3 个答案:

答案 0 :(得分:3)

(!(str2.length() >= 3) && !(str2.length() <= 15))

相同

( (str2.length() < 3) && (str2.length() > 15))

相同

(str2.length() < 3) && (15 < str2.length())

总是假的。

没有数字小于3且大于15。

所以这些都是毫无意义的比较。

如果您想知道长度在3到15之间,请使用

if (3 <= str2.length() && str2.length() <= 15)

眼睛容易上瘾,让人们想起熟悉的数学表达式,如3≤x≤15。

但如果这就是你的意思,你的信息也需要修复。如果你的意思是你说的话,那么这段代码的最短版本就是一个空白行。它会做同样的事情。

答案 1 :(得分:1)

这不短,但至少是正确的

if (!(str2.length() >= 3 && str2.length() <= 15)){
    System.out.println("text length is not within range");
}

答案 2 :(得分:0)

您可以使用本地变量。

int len = str2.length();
if (len < 3 || len > 15)
   throw new IllegalArgumentException("String length" + len + " out of range.");

您可以使用单一比较,但这不会更短。

if (len + Integer.MIN_VALUE - 3 > Integer.MIN_VALUE - 3 + 15)

这适用于低于3的值将下溢并且看起来非常大。