int a = 1;
Integer b = new Integer(1);
Integer c = a;
Integer d = 1;
System.out.println(a == b);
System.out.println(a == c);
System.out.println(b == c);
System.out.println(c == d);说明:1.5的环境,不要拿去运行哦,如果你全对了,揭帖的时候,给你加分。如果没有全对,面壁思过。
注:技术细节问题,若不屑于此"低级"问题,不要诋毁。

解决方案 »

  1.   

    扪几个先,偶还在用1.42true
    true
    true
    true
      

  2.   

    Integer c = a;  Integer d = 1; 两边的类型不同  c是Integer  a是int 不能赋值
    同理System.out.println(a == b); System.out.println(a == c);也是错误的
    Integer是int的封装类  a是基本类型 b,c,d是实例类型
      

  3.   

    坦白讲不知道jdk版本有啥区别
    猜吧,a==c==d,b单独
      

  4.   

    5.0 之后支持自动装箱/拆箱, LZ想考这个吧?
    T
    T
    F
    T
      

  5.   

    boxing/unboxing 知道一点 但不知道为什么 第3个是False
      

  6.   


    true
    true
    false
    true
      

  7.   

    搞清楚一下几点就可以了。
    1.装箱用的是Integer.valueOf(int)
      装箱时如果-128=<i<=127,那么返回的是整形缓存IntegerCache里的对象
    2.拆箱用的是Integer.intValue();
    System.out.println(a == b); //第2点
    System.out.println(a == c); //第2点
    System.out.println(b == c); //两个不同的对象
    System.out.println(c == d); //第1点
      

  8.   

    result:
    true
    true
    false
    true