==和equals()的区别

总结的来说:

  • 对于==,比较的时值是否相等。

    如果时基本数据类型的变量,则比较其存储的“值”是否相等;

    如果作用于引用类型的变量,则比较的是所指向的对象的内存地址。

  • equals(),属于Objec类,也就是说只有类才可以调用这个方法。

    如果没有重写此方法,则比较的是对象的内存地址是否相等(也就是说指向的是否是同一个对象)。

    有些类(String、Date)重写了equals()方法,比较的是对象的内容。

  • 可以举个简单的例子,String a=new String(“abc”), String b=new String(“abc”),a.equals(b)返回true,a= =b返回false,这就是区别,equals()本质上还是= =,只是String 和 Date等重写了equals()方法。

==和equals()的区别_第1张图片

你可能感兴趣的:(面试必备)