0

我有这个代码

if(!(lotNo.charAt(0) >= "0" && (lotNo.charAt(0) <= "7"))) {
    // if the first character is not within these boundaries
    return false;
}
return true;

这种方法给我留下一个错误说bad operator type?虽然它应该检查字符串中的第一个字符是否在 0 到 7 之间。我在正确的行吗?

4

3 回答 3

2

Char必须在'0'不内"0"。第二个是一个String

于 2012-12-08T16:06:52.717 回答
1

您正在与字符串而不是字符进行比较。尝试:

if (!(lotNo.charAt(0) >= '0' && (lotNo.charAt(0) <= '7'))) { // if the first character is not within these boundaries
    return false;
}
return true;

"0"<-- 带一个字符的字符串,'0'
'0'<-- 字符,字符'0'

于 2012-12-08T16:06:40.863 回答
0

charAt(int index) 方法返回值类型为 char 。但是你正在将它与一个字符串进行比较,这就是你得到的原因bad operator type

于 2012-12-08T16:11:49.373 回答