1

我正在尝试检查一个字符串是否按字母顺序排列在其他两个字符串之间。目前我正在这样做:

if(_subSize.compareTo("440/65") > 0 && "600/65".compareTo(_subSize) < 0){
    //fits in
} else { // fits not in between }

但是当我有 _subSize = "440/65"; if 语句进入 else。我已经这样解决了:

if(_subSize.compareTo("440/65") >= 0 && "600/65".compareTo(_subSize) <= 0){
    //fits in
} else { // fits not in between }

现在第一个陈述是正确的。然而,第二个陈述是错误的。如何使第二个陈述也为真?因为“440/65”按字母顺序排在“600/65”之前,所以从技术上讲它应该低于或等于0。但不知何故它不起作用。

我需要将字符串作为字符串。它们不是数字或其他东西。

4

1 回答 1

3

第二个 .compareTo() 与第一个相反。您只需要让两者从相同的角度进行比较,如下所示:

if(_subSize.compareTo("440/65") >= 0 && _subSize.compareTo("600/65") <= 0){
    //fits in
} else { // fits not in between }
于 2013-10-28T12:09:07.897 回答