1.==号是一个运算符,equals是Object类的一个方法
2.所以由1可以引出来第二个区别
因为equals是一个类的方法(子类重写即用子类的,否则都是Object类的)
所以基本数据类型是不能使用equals的,只有引用类型可以使用equals
==号两边既可以是基本数据类型,也可以是引用类型
3.比较时候的区别
==号两边是基本数据类型,比较的是值
==号两边是引用类型比较的是地址
equals从源码上看,如果不重写的话就相当于==号,也就是说比较的是地址
重写后则可以按照自己的规则去定义两个对象之间是否相等
源码如下图: