Integer[] a={
new Integer(1)
};
Integer[] b={1}; 这样定义就不能通过编译
int[] b={1};
         int[] cdd={
                        new int(10
                    }; 这样的定义也不能通过编译
这是为什么呢?!他们有什么不同呢。Integer这样数组一般作什么事的呢。请告诉赐教!!

解决方案 »

  1.   

    Integer 是继承自Object的.而int 是基本类型,定义基本类型怎么能new.
    Integer是将基本类型int封装起来的包装器类!Integer[] b={1}; 这样定义就不能通过编译.这个意思是你的这个数组里装的都是integer类型的对象,而1是个基本类型,肯定不行了!
      

  2.   

    Integer[] b={1}; 这样定义就不能通过编译
    ------------------------
    jdk1.4或者以下的版本不支持自动装箱。jdk1.5以后都支持,C#也支持。new int(10)
    -------
    这句话从语法上来说就是错误的,如果是C#的话没问题,但是Java不是这么回事。
    对于Java来说int是基本类型,无法对它使用new操作符。
      

  3.   

    interhanchi(路曼曼其修远兮,吾将上下而求索.) 说得对,支持!!!
      

  4.   

    谢谢~~ interhanchi(路曼曼其修远兮,吾将上下而求索.) 
    理解了。