黑马程序员技术交流社区

标题: int 与integer的问题 [打印本页]

作者: 黄方    时间: 2012-3-5 12:58
标题: int 与integer的问题
     为甚们int数据类型可以看做integer啊?为什么java还学要java基本数据类型呢?直接用包装类不就可以了吗?求解析
作者: 党传才    时间: 2012-3-5 13:00
Integer是int的封装类,里面有很多进行处理的静态方法   
Integer是对象而int不是,内存的分配位置也不一样
也就是说Integer   i   ==   null可以   
但是int   i   ==   null就不可以

作者: 党传才    时间: 2012-3-5 13:01
int是一种基本数据类型,而Integer是相应于int的类类型,称为对象包装。   
      实现这种对象包装的目的主要是因为类能够提供必要的方法,用于实现基本数据类型的数值与可打印字符串之间的转换,以及一些其他的实用程序方法;   
      另外,有些数据结构库类只能操作对象,而不支持基本数据类型的变量,包装类提供一种便利的方式,能够把基本数据类型转换成等价的对象,从而可以利用数据结构库类进行处理

  int是一个值,也叫整数类型   
  INGER是一个类   
   
  所以在类INTER会有很多的方法及属性,但INT没有
作者: 张开开    时间: 2012-3-5 13:08
基本数据类型当然有存在的必要了,你总不能用一个整数就要new一个对象吧,这样会太麻烦,而常用 的基本数据类型用着很方便,至于int 和 Integer的区别,就是Integer可以定义对象指向null,而基本数据类型不能为空!
作者: H07000223    时间: 2012-3-5 14:54
这个嘛,这个是大多数编程语言中都有的基本数据类型,属于历史部分的原因吧。

Java初期总不可能一上来就自创数据类型。Java也是在别的语言基础上发展而来。

用基本数据类型也可以使得其他编程语言的初学者显得亲切,更容易上手。便于Java的推广。

后来嘛,为了使的Java是面向对象编程---一切皆对象的特点名副其实,所以就搞了个类包装了基本数据类型,使它具有了对象的特点。大概就是这样把。
作者: 黑马伍仪华    时间: 2012-3-5 14:59
用int可以简化书写,还有Integer是在是在之后加上的,Integer每次都是实例化对象,比较占内存




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2