public class EqualsMathod{
         public static void main(String[] args){
                           Integer n1=new Integer(47);
                           Integer n2=new Integer(47);
                           System.out.println(n1.equals(n2));
                                                }
                          }输出结果为true.class Value
        {
         int i;
        }         public class EqualsMathod2{
             public static void main(String[] args){
                      Value v1=new Value();
                      Value v2=new Value();
                      v1.i=v2.i=100;
                    System.out.pringln(v1.equals(v2));
                                                    }      
                                    }   输出的结果为:false
 
  它们的区别在哪里? 为什么输出的结果会不一样,请指点一下为什么第二个程序结果为false,详细说明一下!谢谢           public class Tese{
             public static void main(String[] args){
               int i=0;
               i++;
         System.out.println("i="+i);
                                                   }
                            }
输出结果为0; 
   为什么?  同内存的存储有什么关系吗? 望详细说明指教.

解决方案 »

  1.   

    1. n1=47 n2=47 所以相等
       两个整型比较
    2.v1和v2是两个对象,虽然I相同,但两个对象是不同的
      两个对象比较
    3.输出是1,搞不懂,不知道你在哪里试的.
      

  2.   

    class Value
            {
             int i;
            }两个 Value 对象比较为false 的原因是你没有复写 equals 方法,改成如下就可以要到你想要的结果了class Value
    {
      int i;
      public boolean equals(Value value)
      {
        if(i == value.i)
        {
          return true;
        }
        else return false;
      }
    }