Java中的类型可以分成两种:基本类型,对象。Java中的对象一般分配在堆上,Java中有reference类型作为对象的引用,其保存的是对象在内存中的地址,一般内存中的地址都是一个整数,所以我可以把reference中保存的内容理解为一个数值吧?
==在比较基本类型时,判断它们的值是否相等;而在比较对象时,判断它们是否是同一个对象,其实==判断的应该是对象的引用,也就是两个数值。
那么,是不是可以这么说,==其实就是判断两个变量所代表数值是否相等?JVM在做==运算时,是怎么区分比较的是基本类型还是对象,或者根本就是如上说述,直接比较两个操作数的数值?