==和equals的区别

来源:互联网 发布:java cms源码 编辑:程序博客网 时间:2024/05/16 04:40

==:用在值类型的时候,用于判断两个值类型的值是否相

 用在引用类型的时候,用于判断两个对象是否指向同一个地址

equals: 只能用于引用类型,指示其他某个对象是否与此对象“相等”。 


值类型是存储在内存中的堆栈(以后简称栈),而引用类型的变量在栈中仅仅是存储引用类型变量的地址,而其本身则存储在堆中。

       ==操作比较的是两个变量的值是否相等,对于引用型变量表示的是两个变量在堆中存储的地址是否相同,即栈中的内容是否相同。      

 equals操作表示的两个变量是否是对同一个对象的引用,即堆中的内容是否相同