equals 和 ==

equals一般比较的是String类型,用于比较两个String类型的字面值;

==  实质是比较二进制的地址

      如果两边是基本类型,比较的是字面值;如果两边是引用类型,比较的是引用的地址;

     如果一个类没有自己定义equals方法,它默认的equals方法(从Object类继承的)就是使用==操作符,也是在比较两个变量指向的对象是否是同一对象,这时候使用equals和使用==会得到同样的结果

    例如:StringBuffer和StringBuilder的equals()方法都没有重写父类的该方法,所以都是Object类型的equals方法,他们和==的作用一样,比较的是引用的地址,如果碰到两个new,其equals的结果是false。


猜你喜欢

转载自blog.csdn.net/zhulurensheng/article/details/77461036