请问各位高手:
当原始类型与其对应的包装类一起运算时,是将原始类型数据打包还是将其包装类拆包啊
例如:
Integer i = 10;
System.out.println(i + 3);

解决方案 »

  1.   

    这个很难说,可以研究下java的源码看看。不过我试了下下面这行代码,最终的输出结果是 class java.lang.Integer
    Integer i = 3;
    Object o = i + 2;
    System.out.println(o.getClass());
      

  2.   

    这个测试方法有问题啊,
    其实如果你这样执行也行的,
        Integer j = 3;
        int o = j + 2;
        System.out.println(o);//这里就不能调用getClass,因为int类型没有
    你这样测试的过程说不定也存在装箱的过程。
      

  3.   

    你认为 Integer i=10;
          Integer j=3;
    如果不拆箱能做 i+j 吗?也就是不把i 和 j转化成int类型能 有 i+j吗?(只要用jdk1.4试试你就知道了)所以我觉得
    System.out.println(i + 3);//这里是把i拆箱,然后和3相加的。
      

  4.   

    其实看到这个代码,我在想,java迟早有一天也要提供像c++差不多的运算符重载功能。