class Number
   {
     int i;
   }
  class HelloData 
   {
      public static void main(String[] args) 
        {
            Number n1=new Number();
            Number n2=new Number();
            n1.i=47;
            n2.i=47;
            System.out.println(n1.equals(n2));/*我想让这边输出一个true;该如何呢?如何去覆写equals()方法呢?请各位大侠help me?*/
            Integer in=new Integer(47);
            Integer in2=new Integer(47);
            System.out.println(in.equals(in2
        }
 }

解决方案 »

  1.   

     class Number 
       { 
         int i; 
          public boolean equals(Object obj) {
             if(obj == null) return false;
        else {
    if(obj instanceof Number) {
    Number n = (Number)obj;
     if(n.i == this.i) {
      return true;
    }
        }
     }
    return false;
    }
       } 
     public class HelloData  
       { 
          public static void main(String[] args)  
            { 
                Number n1=new Number(); 
                Number n2=new Number(); 
                n1.i=47; 
                n2.i=47; 
                System.out.println(n1.equals(n2));
                Integer in=new Integer(47); 
                Integer in2=new Integer(47); 
                System.out.println(in.equals(in2));
            } 

     }现在输出就是true;
      

  2.   

    class Number 
       { 
         int i;   public boolean equals(Object obj) {
    if(obj == null) return false;
    else {
    if(obj instanceof Number) {
    Number n = (Number)obj;
    if(n.i == this.i) {
    return true;
    }
    }
    }

    return false;
    }
       } 
     public class HelloData  
       { 
          public static void main(String[] args)  
            { 
                Number n1=new Number(); 
                Number n2=new Number(); 
                n1.i=47; 
                n2.i=47; 
                System.out.println(n1.equals(n2));
                Integer in=new Integer(47); 
                Integer in2=new Integer(47); 
                System.out.println(in.equals(in2));
            } 

     }