以前貌似 把这个弄懂了 也觉得自己不会能混了  但是前两天看书发现 有些书上好象有出入
             我看有得书上些得是  ==比较得是内存地址;
                                 euqals比较得是值;
                                但是有的好象些的是反的;
                                           郁闷|:       请高手明确得指点下 == 和 equals得区别; 

解决方案 »

  1.   

    ==是判断两个变量或实例是不是指向同一个内存空间
    equals是判断两个变量或实例所指向的内存空间的值是不是相同
      

  2.   

    分成基本数据和对象讨论
               基本数据     对象
    ==         值         引用
    equals       无          值
    基本数据是存储在堆栈中
    对象存储在动态堆中
    比较的时候也就不一样勒
    MSN:[email protected]  还有问题加我
      

  3.   

    Object类中的equals和==效果一样,比较的是对象的引用,但是SUN公司在诸如String Integer...类中重写了equals,使它比较的是对象的值,所以在有些时候equals比较的是引用,有些时候比较的是值,如果你想调用equals方法的对象中的equals方法SUN没重写,那么对不起,你得自己重写,怎样判断SUN有没有重写呢?很简单,看JAVA的源码,也可以结合API文档
      

  4.   

    ==比较得是内存地址;
    euqals比较得是值;
      

  5.   

    == 比较的是内存地址 相当与指针比较(当然java中没有指针这一说法);
    euqals 比较的是值,但是用户自己是可以重写的;
      

  6.   

    基本数据类型是放到堆区,对象数据类型是放到栈区。
    ==是比较两个数据的内存地址。
    equals是比较两个对象的hashcode。