长篇大论的话, 我这里就不多写了, 相信大家入门 java 的时候就知道个大概了, 这里想表述的是, 如果面试官问你《关于 == 和 equals 的区别》, 该怎么回答完美呢? 可以这样说
总结的来说:
1) 对于 ==, 比较的是值是否相等
如果作用于基本数据类型的变量, 则直接比较其存储的 "值" 是否相等;
如果作用于引用类型的变量, 则比较的是所指向的对象的地址
2) 对于 equals 方法, 注意: equals 方法不能作用于基本数据类型的变量, equals 继承 Object 类, 比较的是是否是同一个对象
如果没有对 equals 方法进行重写, 则比较的是引用类型的变量所指向的对象的地址;
诸如 String,Date 等类对 equals 方法进行了重写的话, 比较的是所指向的对象的内容.
来源: http://www.bubuko.com/infodetail-3064060.html