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编辑  收藏  举报

导航