既然可以int[] a 为什么还要 Integer[] a ?

解决方案 »

  1.   

    按照面向对象程序设计理念 int才是多加的东西
    有了Integer这个封装类 很多属性和方法就可以加入其中
    而int就不行
      

  2.   

    int 是基本数据类型
    而Integer是封装int的类型的类
    一个是基本数据类型的数组
    一个是对象数据
      

  3.   

    int是基础类,和C,VB里面的整形没什么两样(当然,也许占用内存在不同语言是不同的)但是Integer是一个类,他封装了一些相关的方法,扩展了int的许多功能。最简单的,比如你把一个String类型的 "123"要转换成int怎么办?比如
     String s = "123";
     int a = (int)s;,会报错的。这时候就用到Integer这个类了
     int a = new Integer(s).intValue();这样就获得了s转换成int的效果
      

  4.   

    int是基本类型
    jdk 1.5之前int和Integer是不同的东东
    jdk1.5后两者可以互相转换了,不过也弄出些难懂的东西
    如:
    Integer i=0;//貌似没产生对象,但一个引用指向一个值别扭
    int i=new Integer(1);//产生一个对象,但怎么给一个值来引用汗
    不理解
    俺以前做jdk1.4的貌似思想还转不过来
      

  5.   

    比如数据库中有个int类型的字段可以为NULL,那只能使用Integer了,不能使用int了,因为int不能存储null。
    Integer用于包装int数据,因为像List、Map中只能存取对象类型的数据,所以这时也只能使用Integer了。
      

  6.   

    一般如果能用int来解决则不要用Integer,因为int快很多,这是java为什么保留基本数据类型的原因. 有时候确实需要用类进行操作,如5楼所说, 则必须用Integer.