1.== 是运算符,它既可以比较基本类型也可以比较引用类型。对于基本类型就是比较值(不一定类型相同),对于引用类型就是比较内存地址,即两个引用是否指向同一个对象实体。
而且= =符号在使用时必须保证符号两边的变量类型一致。(int和char可以,int与Date不可以)
2.equals是属于java.lang.Object类里面的方法而不是运算符,所以只适用于引用数据类型,如果该方法没有被重写过默认也是==;我们可以看到String、Date、File、包装类等的equals方法是被重写过的,重写以后比较的不是引用对象的地址,而是两个对象的 ”实体内容“ 是否相同。