double a=3.0;
Integer i=new Integer(3); 
System.out.println(i==a);

解决方案 »

  1.   

    补充一下:结果为什么为true;
      

  2.   

    调用了基本类型的包装类,相当于与int和double的比较
      

  3.   

          唯一的说的过去的解释。我觉得就是这里在比较i和a的时候,系统自动把i解包,还原成int型了
      

  4.   

    自动装箱:把int类型的转化为integer类型,例如int i=2;Integer x=i;
    自动拆箱;把integer类型转化为int类型,例如Integer x=2;int i=x;
      

  5.   

    你直接比较 int i =3  跟那个double 就行了.