//==判断两个值相在同一对象是否相等
public class Equals1
{
  public static void main(String [] args)
  { 
  Person p1=new Person("10");
  Person p2=new Person("10");
  Person p3=new Person("1");
  }
} class Person

  String age; 
  public Person()
  {
  }
  public Person(String age)
  {
  this.age=age;
  }
  public void setAge(String age)
  {
   this.age=age;
  }
  public String getAge()
  {
   return this.age;
  }
  public boolean equals(Object obj)
  {
    if(obj!=null&& obj instanceof Person)
    Person pobj=(Person)obj;
    if(this.getAge().equals(pobj.getAge()))
    { 
     return true;
    }
     else{return false;}
  }
}

解决方案 »

  1.   

    public boolean equals(Object obj){
    if(this==obj){
    return true;
    }

        if(obj!=null&& obj instanceof Person)
        Person pobj=(Person)obj;
        if(this.getAge().equals(pobj.getAge()))
        { 
         return true;
        }
         else{return false;}
      }
      

  2.   

    public boolean equals(Object obj) {
            Person pobj = null;
            if (obj != null && obj instanceof Person)
                pobj = (Person) obj;
            else
                return false;
            if (this.getAge().equals(pobj.getAge())) {
                return true;
            }
            return false;
        }
      

  3.   

    public class Person {
    String age; public Person() {
    } public Person(String age) {
    this.age = age;
    } public void setAge(String age) {
    this.age = age;
    } public String getAge() {
    return this.age;
    } public boolean equals(Object obj) {

    if(obj == null || !(obj instanceof Person))
    return false;

    if(this == obj)
    return true;

    Person pobj = (Person)obj;

    if(this.getAge() == null){
    return pobj.getAge() == null;
    }else{
    return this.getAge().equals(pobj.getAge());
    }
    }
    }
      

  4.   

    你在public boolean equals(Object obj)这个函数中没有创建Person对象所有有误。给你改了,
    代码在下面,不过按你写你这代码什么也不会输出,你还得完善才行。public boolean equals(Object obj)
    {    Person pobj = new Person();
        if(obj!=null&& obj instanceof Person)
        { pobj=(Person)obj;
        }    if(this.getAge().equals(pobj.getAge()))
        {
         return true;
        }
         else{return false;}
      }
      

  5.   

    public boolean equals(Object obj)
      {
        if(obj instanceof Person && this.getAge().equals(pobj.getAge()))
        { 
         return true;
        }
         else{return false;}
      }
    其实这样改就是一般的equals方法写法
      

  6.   

    我认为并不需要new一个Person,因为传进来的obj就是一个Person对象的引用,Person pobj = (Person)obj;这个语句相当于把obj所指向对象的引用赋给pobj,这样pobj和obj指向同一个对象。
      

  7.   


    public boolean equals(Object obj){
    if(this==obj){
    return true;
    }
        if(obj!=null && obj instanceof Person){
         Person p =(Person)obj;
          if(this.getAge().equals(p.getAge())){ 
              return true;
          }
        }
    return false;
        }
      

  8.   

    修改了一下代码,给第一个if加上大括号,后面还有一个分支else调用父类的equals方法。实际运行正常。
    public boolean equals(Object obj)
      {
        if(obj!=null&& obj instanceof Person) {
         Person pobj=(Person)obj;
        if(this.getAge().equals(pobj.getAge()))
         { 
          return true;
         }
          else{return false;}
        } else {
         return(super.equals(obj));
        }
      }
      

  9.   

    代码没有什么问题,不过的话,age一般是用int 不是String。而且用int的话就可以直接用==比较,而不需要用到
    equals()。
      

  10.   

    我稍微改了下,你试试public class Equals1
    {
      public static void main(String [] args)
      { 
      Person p1=new Person("10");
      Person p2=new Person("10");
      Person p3=new Person("1");
      System.out.println(p1.equals(p2));
      System.out.println(p1.equals(p3));
      
      }
    } class Person 

      String age; 
      public Person()
      {
      }
      public Person(String age)
      {
      this.age=age;
      }
      public void setAge(String age)
      {
       this.age=age;
      }
      public String getAge()
      {
       return this.age;
      }
      public boolean equals(Object obj)
      {
        if(obj!=null&& obj instanceof Person) {
         Person pobj = (Person)obj;
            if(this.getAge().equals(pobj.getAge()))
            { 
             return true;
            }
            
             else {
              return false;
             }
              
        }
        else return false; 
        
        
      }}