不知道这么提问是否妥当,我的问题是这样的:
java为原始数据类型提供了风专类,这样就有如下代为int变量可以指向一个Integer类型的对象,但是为什么int型数组 不可以只想一个Integer型的数组呢?如第4行,是不是java也把数组封装成了一个对象呢? 还有如果我想实现int[] f = new Integer[]{1};这样的形式有没有可能呢?
int c = new Integer(2);
long d = new Long(2L);
double e = new Double(2.0);int[] f = new Integer[]{1};

解决方案 »

  1.   

    “还有如果我想实现int[] f = new Integer[]{1};这样的形式有没有可能呢?”
    一切皆有可能,你自己修改开源的JDK实现一个新的JDK就可以实现。
      

  2.   

    所以默认的不提供这个功能,绝大多数人又没有去实现自己的一个JDK的可能,所以放弃这种思想,默认提供什么就使用什么
      

  3.   

    嗯,纳闷了一会儿,就是想不出这个叫什么名字来着。
    做了下实验把jre切换到1.4上就玩不转了,所以推测是1.5特性,搜索了一下是jdk1.5的“Autoboxing/unboxing”特性。以下引用某仁兄的介绍就应该说清楚了。
    原文地址:http://blog.csdn.net/sonic_lan/archive/2006/08/04/1019827.aspx
    节选:
    三、自动装包/拆包(Autoboxing/unboxing)  自动装包/拆包大大方便了基本类型数据和它们包装类地使用。  自动装包:基本类型自动转为包装类.(int >> Integer)  自动拆包:包装类自动转为基本类型.(Integer >> int)  在JDK1.5之前,我们总是对集合不能存放基本类型而耿耿于怀,现在自动转换机制解决了我们的问题。