Integer和int有什么区别没有??
如果我定义了一个Integer Flag = 1;那么现在int i = Flag.intValue()有什么用,他本来不就是整形了吗?那么intValue有什么用

解决方案 »

  1.   

    Integer Flag = 1; 在 jdk1.4 以及以下是不可以的。完整的是: Integer Flag = new Integer(1);Flag 是一个对象,Flag 指向了对一个对象的引用,而这个对象的内容是:对一个整数的包装。在很多地方必须要对象才可以的地方,就需要 Integer 而不是 int,比如作为 Map 的 key 就需要对象,Integer 拥有比如 hashCode() 这样的方法。而 int i 只是一个简单的简单数据。没有任何方法。
      

  2.   

    Integer Flag 创建了一个Ineteger的对象,不是基本类型,如果你想这样:int i=Flag,是错误的,因为int是基本类型,不能指向对象的引用Flag
      

  3.   

    wrapper class 可以序列化,而primitive type 不可以。
      

  4.   

    Integer是一个类,而int为说句类型
      

  5.   

    Integer是一个类,而int为数据类型