equals: true/falsecompareTo:
<0  前者小于后者  
=0  equals  
>0  前者大于后者

解决方案 »

  1.   

    String.equals():判断是否相等,返回一个boolean
    String.comparaTo():按字符串的比较规则比较大小,返回一个int,int==0的时候相等,int<0的时候前面的值小
      

  2.   

    我也不知道该怎么说,他们俩的区别我知道,就是会用.但JAVA基类怎么去实现的就看不懂了~
    它在里面定义了一个私有的COUNT,然后用string.value.length与count来进行比较~!
    但count与length是啥东东?
      

  3.   

    count是String类的private成员, 存放的是当前String中的字符个数
    value是char数组, 存放String的每个字符, 那value.length就是数组长度了
      

  4.   

    由于有offset所以,不等是可能的.解释一下源码
      public int compareTo(String anotherString) {
        int len1 = count;                 //字符个数
        int len2 = anotherString.count;   //字符个数
        int n = Math.min(len1, len2);     //取最短长度 
        char v1[] = value;                //临时变量
        char v2[] = anotherString.value;  //临时变量
        int i = offset;                   //偏移
        int j = anotherString.offset;     //偏移     if (i == j) {
          int k = i;
          int lim = n + i;
          while (k < lim) {  //逐个字符比较,只比到最短的长度
            char c1 = v1[k];
            char c2 = v2[k];
            if (c1 != c2) {
              return c1 - c2;  //不同, 直接返回结果(>0或者<0)
            }
            k++;
          }
        }
        else {             //偏移不同, 从偏移处比较, 最多比较n个字符
          while (n-- != 0) {  
            char c1 = v1[i++];
            char c2 = v2[j++];
            if (c1 != c2) {
              return c1 - c2;
            }
          }
        }
        return len1 - len2;  //如果能执行此句, 说明前面n个字符是相同的.再比较长度即可
      }
      

  5.   

    offset = String.length()吗???
      

  6.   

    通常offset是0如果你有兴趣,仔细研究一下String.java
      

  7.   

    String.equals()会返回ture(相等)或者false(不相等),
    String.comparaTo()则是当小于所比较字符串时返回小于零的值
    若相等返回0,若大于返回大于0的值。
    over...
      

  8.   

    我就是今天下午看了一下午的String.java,不明白count,value与offset的值是怎么取的,所以才上CSDN来求助的.看了你刚才帖的代码,我明白多了,多谢你哈
    ^______^
      

  9.   

    对不起,最后一个问题~
    那对于“0.00”来说,它的count和.length()各是多少???
      

  10.   

    那这样的话,为什么要多余的定义count或.length()??我定义一个就够了吧?
    还是说它们俩之间有什么区别???