您的位置:首页 > 编程语言 > Java开发

java equals() 和toString()方法重写

2013-01-07 22:49 796 查看
Object 类中的equals()方法实际上也是可以使用的,但是其默认人用的是按地址进行不叫,并不能进行内容比较的。

那么我们有时需要比较两个对象就得重写equals()方法。
package tianque.object_high;

class Students{
private String name;
private int bookNum;
public Students(String name, int bookNum){
this.name = name;
this.bookNum = bookNum;
}
public boolean equals(Object obj){
if(this == obj){
return true;
}
if(!(obj instanceof Students)){
return false;
}
Students st = (Students)obj;
if(st.name.equals(this.name) && st.bookNum == this.bookNum){
return true;
}else{
return false;
}
}
public String toString(){
return "姓名:"+ this.name+ "  书本数:"+ this.bookNum;
}
}
public class Isequals{
public static void main(String[] args) {
Students st1 = new Students("张三", 14);
Students st2 = new Students("张三", 14);
System.out.println(st1);
System.out.println(st1.equals(st2)?"同一个人":"不是同一个人");
System.out.println(st1.equals("hello")?"同一个人":"不是同一个人");

}
}
//运行结果
//姓名:张三  书本数:14
//同一个人
//不是同一个人
通过重写equals()我们便可以进行两个对象之间的直接比较。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: