要彻底弄懂equals与==的区别,首先要了解JVM中的内存分配 1、基本数据类型:是存放在栈内存中的 2、引用类型:引用存放在栈中,对象数据存在堆内存中。比如:创建一个学生类:Student stu=new Student();//stu就是引用,new Student()就是调用对象的构造方法在堆中开辟空间,通过栈中的引用来调用对象存在堆中的数据 3、==是比较内存地址,equals()是比较内容是否相等(先这样理解)