public class EqualsMethod{
public static void main(String[] args){
Integer n1=new Integer(47);
Integer n2=new Integer(47); 
System.out.print(n1==n2);
System.out.print(“,”);
System.out.print(n1!=n2);
}
  }
结果:false,true那位大哥帮俺解释下为什么是这样的结果?难道n1,n2不相等吗?

解决方案 »

  1.   

    equals(Object obj) 
              指示某个其他对象是否与此对象“相等”。
      

  2.   

    回复人: susan930(潜水员) ( ) 信誉:100  
     
       == 比较他们两个对象的内存地址
    ------------------------------------  
    回复人: susan930(潜水员) ( ) 信誉:100  2006-01-01 00:15:00  得分: 0  
     
     
       equals(Object obj) 
              指示某个其他对象是否与此对象“相等”。
     
    ------------------------------------
    同意
    ==比较的是两个对象的内存地址是否相同,两个对象,当然有两个地址了
    equals(Object obj)才是你想要的
      

  3.   

    http://blog.csdn.net/f_acme
    Java的equals()和==的比较
      

  4.   

    好说的都别人说完了。
    接下来的废话我来说。
    。。
    equals()只是简单的判断相似。。
    ==是操作在同一内存。。
    现在明白了么。
    废话说完
      

  5.   

    n1==n2 是比较两个对象n1,n2是否都指向同一个内存空间;
    n1.eauals(n2)是比较两个对象的值是否相等;按你的想法应该用n1.eauals(n2)