使用equals和==进行比较的区别
这道题想考察什么 ?
在开发中当需要对引用类型和基本数据类型比较时应该怎么做,为什么有区别。
考察的知识点
equals 的实现以及栈和堆的内存管理
考生应该如何回答
在 Java 中,equals()
方法和 ==
运算符用于比较对象之间的相等性,但它们之间有着不同的行为:
== 运算符:
- 在比较基本数据类型(也称原始数据类型:byte,short,char,int,long,float,double,boolean)时,
==
比较的是它们的值是否相等。 - 在比较引用数据类型时,
==
比较的是两个对象引用是否指向内存中的同一个对象。
对于引用类型,除非是同一个new
出来的对象,他们的比较的结果为true
,否则为false
。
因为每new
-次&