java中==和equals问题

==可用于基本类型和引用类型:

当用于基本类型时候,是比较值是否相同;

当用于引用类型的时候,是比较引用型变量在堆中存储的地址是否相同,即栈中的内

容是否相同。


equals比较的是两个对象堆中的内容是否相同。

比如

String str1  =new String("")

String str2  =new String("")

str1.equals(str2)的值为true,但是str1==str2的值为false,二者内容是相等的,但

是内存中的位置地址值是不同的

猜你喜欢

转载自blog.csdn.net/qq_41595021/article/details/80380347