这段程序的运行结果是什么?
public class Test {
public static void main(String[] args) {
Integer a = 127;
Integer b = 127;
System.out.println(a == b);
Integer c = 128;
Integer d = 128;
System.out.println(c == d);
}
}

解决方案 »

  1.   

    Integer小于128的时候拆箱比 比的是值 大于128比的是引用
      

  2.   

    http://blog.csdn.net/ZangXT/archive/2009/05/19/4201979.aspx
      

  3.   

    Integer型  问题哈  范围是-128 ~127 当在范围内的时候 声明相同数值的变量 其指向相同的地址。
    当不再范围内的时候编译器不会自动的指向相同的地址,而是再开辟一个空间,虽然数值相同 但 地址不同 所以不相等.
      

  4.   

    如果楼主将System.out.println(c == d);改成System.out.println(c.equals(d));输出就是true了!
      

  5.   

    对于Integer a=new Integer (k) ,Integer b=new Integer (k);
    当k属于-128~127之间,那么a=b 否则a!=b.
     对于Character c1=new Character (k);Character c2=new Character (k)
    当k字符代表的ASCII范围在127以内,那么c1=c2 否则不等.
    对于浮点数如果范围在-128-127之间不能缓存,对于Boolean类型true false有此缓存一句话,只要用的多的就放在缓存中提高性能。
      

  6.   

    true,false,这个以前有人发过了,-128~127之间Integer被打包成1个对象
      

  7.   

    学习 <href="http://blog.csdn.net/ZangXT/archive/2009/05/19/4201979.aspx">http://blog.csdn.net/ZangXT/archive/2009/05/19/4201979.aspx</href>
      

  8.   

    看下Integer源码就知道了
    Class Integer中的代码private static class IntegerCache {
    private IntegerCache(){}
    static final Integer cache[] = new Integer[-(-128) + 127 + 1];
    static {
        for(int i = 0; i < cache.length; i++)
    cache[i] = new Integer(i - 128);
    }
    }
    public static Integer valueOf(int i) {
    final int offset = 128;
    if (i >= -128 && i <= 127) { // must cache 
        return IntegerCache.cache[i + offset];
    }
            return new Integer(i);
    }
      

  9.   

    学习 <a href="http://blog.csdn.net/ZangXT/archive/2009/05/19/4201979.aspx">http://blog.csdn.net/ZangXT/archive/2009/05/19/4201979.aspx </a>
      

  10.   

    为什么我在eclipse下运行时会跳出类型不匹配的错误?"不能从int转换为Integer",而在cmd下运行却是正常的,这是什么原因?
      

  11.   

    这题又来了上个月还看过
    去看看JDK的源码就知道怎么回事了
      

  12.   

    java 对基本数据类型的包装类(除浮点类型)都应用的对象池技术,维护-128~127之间数值引用相同对象,提高性能;
      

  13.   

    LZ给分吧,这问题也太happy了
    true
    false
    - -!
      

  14.   

    true
    false
    127在范围内等同于两个int比,是相等的.
    范围外的是两个对象比,肯定是不等的.