代码之家  ›  专栏  ›  技术社区  ›  Baklap4

在java中比较字符串compareTo

  •  1
  • Baklap4  · 技术社区  · 11 年前

    我试图检查一个字符串是否按字母顺序介于另外两个字符串之间。 现在我是这样做的:

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

    但当我有as_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。但不知怎么的,它不起作用。

    我需要字符串作为字符串。它们不是数字什么的。

    1 回复  |  直到 11 年前
        1
  •  3
  •   Wagner DosAnjos    11 年前

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

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