- 基本数据类型,比较的是值
- 引用数据类型,比较的是对象的地址
下图中,value1 value2 是两个 int 类型的变量,栈内存中存放的是变量的值, value1 == value2 等价于 3 == 3 结果为 true。 person1 person2 是两个 Person 类的引用,栈内存中存放的是对象的地址,person1 == person2 等价于 0x1234 == 0xABCD,结果为 false。
如果我们把引用理解成指针,指针的值就是对象的地址,那么运算符 == 无论作用于什么类型的变量,其实比较的都是变量本身的值。