Emily_88 新手上路 VIP 注册 2008-06-14 消息 284 荣誉分数 52 声望点数 38 2011-12-15 #1 JAVA专家们,哪位能给简洁的总结一下 1)==和equals的区别 ”==比较地址,euqals比较内容“ 这样解释对不? 2)!equals()和!=有啥区别 谢了。
简 简单简单 初级会员 VIP 注册 2011-05-31 消息 5,743 荣誉分数 135 声望点数 73 2011-12-15 #2 no, they are complete different things. at most of case equals() is a function with return of boolean value. you can write your own equals function such as public boolean equals(int newValue){ return (existingValue==newValue); }
no, they are complete different things. at most of case equals() is a function with return of boolean value. you can write your own equals function such as public boolean equals(int newValue){ return (existingValue==newValue); }
G gingerale 退休ID VIP 注册 2011-12-13 消息 4,161 荣誉分数 157 声望点数 0 2011-12-15 #3 == 是比地址吧? equals() 是method, 从Object class就有这个method. 大部分java的自带的class都有override这个method, 往往是比value. 但如果没有override,比如你自己定义的class, 那就和==一样.
== 是比地址吧? equals() 是method, 从Object class就有这个method. 大部分java的自带的class都有override这个method, 往往是比value. 但如果没有override,比如你自己定义的class, 那就和==一样.
Adenine 资深人士 VIP 注册 2006-03-01 消息 1,527 荣誉分数 168 声望点数 223 2011-12-15 #4 object 之间,== 只比较地址,如果两个object的地址不一样,结果为false 比如: String haha = new String("haha"); String ahah = "ha" + "ha"; (ahah == haha) 的判断结果为false haha.equals(ahah)的判断结果为true
object 之间,== 只比较地址,如果两个object的地址不一样,结果为false 比如: String haha = new String("haha"); String ahah = "ha" + "ha"; (ahah == haha) 的判断结果为false haha.equals(ahah)的判断结果为true
G gingerale 退休ID VIP 注册 2011-12-13 消息 4,161 荣誉分数 157 声望点数 0 2011-12-15 #5 Adenine 说: object 之间,== 只比较地址,如果两个object的地址不一样,结果为false 比如: String haha = new String("haha"); String ahah = "ha" + "ha"; (ahah == haha) 的判断结果为false haha.equals(ahah)的判断结果为true 点击展开... 对,补充一点. String的equals是比value,原因是String class override了equals method. 大部分Java core class都有override equals.
Adenine 说: object 之间,== 只比较地址,如果两个object的地址不一样,结果为false 比如: String haha = new String("haha"); String ahah = "ha" + "ha"; (ahah == haha) 的判断结果为false haha.equals(ahah)的判断结果为true 点击展开... 对,补充一点. String的equals是比value,原因是String class override了equals method. 大部分Java core class都有override equals.
superlover 青春已经谢幕,可我迟迟不愿退场 VIP 注册 2007-08-08 消息 8,882 荣誉分数 1,408 声望点数 373 2011-12-15 #6 Some guys are interested in any discussion about "synchronized" "wait/sleep/notify" and "ReentrantReadWriteLock"
Some guys are interested in any discussion about "synchronized" "wait/sleep/notify" and "ReentrantReadWriteLock"
路顺 David Li 奥迪 保时捷 613-723-1221*223 VIP 注册 2006-05-04 消息 2,996 荣誉分数 212 声望点数 223 所在地 295 West Hunt Club Road(5 minutes west from T& 2011-12-15 #7 这都是什么跟什么呀,天书,一句都看不懂
龙龙龙龙 版王 VIP 注册 2005-06-24 消息 1,580 荣誉分数 117 声望点数 173 2011-12-15 #8 恩,==只比较地址,当你用同样方式创建两个OBJECT的时候,他们就不==,因为地址不是指向同一个地方。但是EQUALS()的时候却可是是TRUE的,因为他们的值相当。而且作为一个METHOD,EQUALS()可以根据需要重新定义。比如两个OBJECT的某几个VALUE相同,你就可以判断他们是EQUALS()为TRUE,而对==无法做此类处理。
恩,==只比较地址,当你用同样方式创建两个OBJECT的时候,他们就不==,因为地址不是指向同一个地方。但是EQUALS()的时候却可是是TRUE的,因为他们的值相当。而且作为一个METHOD,EQUALS()可以根据需要重新定义。比如两个OBJECT的某几个VALUE相同,你就可以判断他们是EQUALS()为TRUE,而对==无法做此类处理。