equals方法和toString方法
equals方法:
boolean: equals(Object obj):用于比较两个对象是否相同(比较的是对象的地址值)
在自定义类中需要使用equals方法需要重写,在调用对象的属性时,一定要进行类型转换,在转换之前必须进行类型判断:
public boolean equals(Object obj) {
//判空
if(obj==null){
return false;
}
//判自己
if(obj==this){
return true;
}
//向下转型
if(obj instanceof Person){
Person p=(Person)obj;
//String 是引用数据类型
//== 如果左右两边是基本数据类型,比的是值
//如果左右两边是引用数据类型,比的地址
return this.name.equals(p.name)&&this.age==p.age;
}
return false;
toString方法:
toString方法返回该对象的字符串表示,其实该字符串内容就是对象的类型+@+内存地址值。
由于toString方法返回的结果是内存地址,而在开发中,经常需要按照对象的属性得到相应的字符串表现形式,因此也需要重写它。
如果是直接打印引用数据类型对象,则默认调用该对象那个类中的toString方法
class Person extends Object{
int age ;
//根据Person类的属性重写toString方法
public String toString() {
return "Person [age=" + age + "]";
}
}
posted on 2020-03-23 10:24 煎饼果子不要果子谢谢 阅读(191) 评论(0) 编辑 收藏 举报