1.在基本数据类型中:
"=="对于基本类型而言,判断的是两个变量的值是否相等;
"equals"不能用于基本数据类型,如果要比较,就需要使用基本类型对应的包装类;
2.在引用类型中:
"=="比较的是变量的值在栈内存中存放的对象的堆内存地址(即比较引用的内存地址);
"equals"比较的是两个对象的值是否相同(不是比较内存地址);
在String类,Integer类等这些类中,对equals()方法进行了重写,所以"equals"和"=="不同,而在Object类中没有区别。
自定义的类自动继承了Object的equals方法,但是可以通过重写equals方法来实现内存地址的比较。