比较字符串时
==,我知道比较的是字符串的地址
那equals和compareTo呢,他们除了表示方式不同,到底有什么区别,他俩都是值比较而不是地址比较,是么?谢谢啦~

解决方案 »

  1.   

    compareTo 不是所有的都有吧???自定义的Class要实现IComparable重写compareTo 
    compareTo 主要用于排序
      

  2.   

    equals返回ture/false
    compareTo返回-1,0,1
      

  3.   

    上面的回答正确,再补充一下:在数组中,equals比较的是两个数组的整体内容是否相等,而compareTo是比的里面的各个元素
      

  4.   

    =号是编译器实现的,是比较对象的内存地址是否相等
    equals方法是看类的具体实现,即每个类自己实现(如String),如果没有实现,就会使用Object类的equals方法,Object的equals方法与=号一样是比较对象的内存地址
    compareTo是为了使用Collection的排序方法而实现IComparable接口,即要重写compareTo方法,这个也是每个类自己的实现
      

  5.   

    第二条,确切的说,如果类本身没有实现equals方法,就会去找父类的equals方法,如果其他父类没有实现,就会调用父类Object类的equals方法