equals 方法(是String类从它的超类Object中继承的)被用来检测两个对象是否相等,即两个对象的内容是否相等。
==用于比较引用和比较基本数据类型时具有不同的功能:
比较基本数据类型,如果两个值相同,则结果为true
而在比较引用时,如果引用指向内存中的同一对象,结果为true ;否则返回false.
例如:
s1 = new String("sony"); //创建的是字符串对象
s1.equals("sony"); //返回true
s1 == "sony" //返回false
//如果
s1 = "sony";
s2 = "sony"
s1==s2//返回true
如果equals()方法是在Object类中定义的方法,声明格式如下
public boolean equals(Object obj)
当参数obj引用的对象与当前对象为一个对象时,返true;否则返回false.
例如
Alimal alimal1 = new Dog();
Alimal alimal2 = new Cat();
Alimal alimal3 = alimal1;
System.out.println(animal1 == animal2); //返回false
System.out.println(animal1.equals( animal2)); //返回false
System.out.println(animal1 == animal3); //返回true
System.out.println(animal1.equals( animal3)); //返回true
总之,对于equals()方法:
在Object类中 仅当被比较的两个引用变量指向同一个对象时返回true。
在String类中,两个字符串内容相等则返回true。
阅读(958) | 评论(0) | 转发(0) |