首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > 编程 >

口试常见题:“==”和“equals”的理解

2012-12-18 
面试常见题:“”和“equals”的理解“”和“equals”的理解:?1.object1 object2?“”比较两个对象的内存地

面试常见题:“==”和“equals”的理解

“==”和“equals”的理解:

?

1.object1 == object2?

“==”比较两个对象的内存地址(是否为同一对象),如果是返回true,否则返回false。


2. object1.equals(object2)?

“equals”比较,首先看是否重写了equals()方法,如果没重写(等效“==”),要返回true则两引用必须指向同一对象,否则为false。而String,Date,包装类(Integer,Double等)等重写了Object的equals()方法,这时如果两引用所引用的对象是同一类对象(并不一定是同一对象,可使用instanceof检验)且属性内容相等时返回true,否则返回false。

?

3.? 内存分为四个部分:heap(堆)\stack(栈)\code segment\data segmet\
其中:堆中存放的是NEW 出来的对象;而栈中存放的是局部变量;而静态变量和字符串常量放在data segment中;剩下的就是代码了,存放在code segment中。理解内存的管理更能方便判断!

?

4. 比较基本数据类型,“==”和“equals”就都是比较值了!


面试中经常遇到,必须理解深刻!

?

?

?

?

?

热点排行