- 论坛徽章:
- 0
|
前边见有人写过“ compareto,equals ,==在java中相对于值和引用比较的区别”我觉得不太详细(没别的意思)。并且老师讲的时候也没讲清楚,随便记了一句结论,后来发现不对头,又参照“ compareto,equals ,==在java中相对于值和引用比较的区别”这篇文章写了下面的此贴!有什么不对的地方,还请大家多多指教!小弟....... "=="这个判断是否相等的关系操作符我就不说了,返回值结果为true或false;
"equals()" 这个方法用来比较两个对象(引用)是否相同。返回布尔值。引用对象的类型可以是 int、char、String、double、long等简单数据类型。 这里就不再给大家从API中截图了,我仅把里面对该方法使用的原话写在后面了.原话是:"将此对象与指定对象进行比较。"
"compareTo()" 重点讲讲这个方法。我直接把API里原话的截图弄出来了。草榴基地在java.long包下的简单数据类Byte、Character、Float、Integer、Short、Long、Boolean、String中都有这个方法。主要分三种解释.
第一种解释:在数字上比较两个 [Byte][Character][Float][Integer][Short][Long] 对象。 对应Byte、Character、Float、Integer、Short、Long来说的。下面仅把Char类中对于该方法的描述截图:
第二种解释:将此Boolean实例与其他实例进行比较。仅对于boolean类型的对象来说的。看下面截图:
第三种解释:按字典顺序比较两个字符串。仅对String类型的对象来说的。看下面截图:
代码验证:
//此教程来源于97xxoo教程网(www.97xxoo.org)
//查看完整的教程请点:http://www.97xxoo.org/article/3/2008/20081114342.shtml
public class Test{
public static void main(String args[]){
String s1=new String("abc");
String s2=new String("abc");
System.out.println((s1==s2)? "true":"false");
System.out.println((s1.equals(s2))? "true":"false");
if(s1.compareTo(s2)==0){
System.out.println("s1 is equal s2");}
s1=s2;
System.out.println((s1==s2)? "true":"false");
}
} |
|