我的理解是:“==”比较的是对象的引用,只要引用的是同一个对象,则返回true;equals()比较的是对象的内容,只要内容相同则返回ture。
    不知这样理解对不对,请各位多提宝贵意见。

解决方案 »

  1.   

    lz,你理解的完全正确!记着“==”比较的是对象的引用,equals()比较的是对象的内容就可以了!
      

  2.   

    equals()比较的是对象的内容,只要内容相同则返回ture。這句話我有所保留!
    因為在內容相同之前要有一個先決條件:比較的兩個對象要來自同一個類!
      

  3.   

    并不是所有类的equals()方法都是比较内容,这只是java提供的一个比较内容的接口String Integer这些类中之所以可以比较内容是因为他们重写了equals()方法,在方法体内做了对内容的比较。而默认由Object继承来的equals()方法内实际还是==,同样是判断值或者是否为同一引用。
      

  4.   

    贊同 bigelf(好好学习,天天向上)
      

  5.   

    如果是对象的比较可能一样,对于非对象的EQUALS()就是判断值
      

  6.   

    并不是所有类的equals()方法都是比较内容,这只是java提供的一个比较内容的接口String Integer这些类中之所以可以比较内容是因为他们重写了equals()方法,在方法体内做了对内容的比较。而默认由Object继承来的equals()方法内实际还是==,同样是判断值或者是否为同一引用。
    ---------------------------------赞同bigelf的观点还有一般情况下最好还是用equals()
      

  7.   

    有时候比较对象需要重写对象的equals()方法
      

  8.   

    楼主说的这种对于String这个类是没有问题的,但是对于自己写的一个类,如果你没有重写equals方法的话,就不对了。
      

  9.   

    补充:
    ==还可以比较基本类型的数值
    ==
    如果是两个对象(句柄)的比较,就是引用了,
    equals方法是比较两个对象的内容,而equals方法是由Object类的方法,如果你自己定义了对象还需要重新写一次equals方法。
      

  10.   

    bigelf(好好学习,天天向上)
    up一下...