黑马程序员技术交流社区

标题: 基本数据类型与基本数据类型的包装类 [打印本页]

作者: 王程    时间: 2012-8-11 15:20
标题: 基本数据类型与基本数据类型的包装类
Java中既有基本数据类型,也有基本数据类型的包装类,而且包装类也能进行运算,那么为什么不去除基本数据类型,只剩下包装类不是就可以了吗,而且每个包装类都是一个对象,不是更符合“万物皆对象”这句话吗?
作者: 周瑞    时间: 2012-8-11 15:29
包装类创建的是对象,基本类型创建的是变量,变量的值存储在堆栈里,而对象存储在堆里,相比而言,堆栈更高效,这也是java保留基本类型的原因。包装类创建的对象,可以使用api提供的一些有用的方法,更为强大。因为基本数据类型相关的方法没地方写 ,所以要找个类来写这些方法最好的选择就是为每一种数据类型设置一个映射类来存放这些方法。另外一个区别是,包装类是引用传递 而基本类型是值传递。
jdk1.5以后都可以自动拆装箱了
int i=new Integer(5);//自动拆箱
Integer j=6;//自动装箱

作者: 尤洋    时间: 2012-8-11 15:46
因为设定他们时 考虑的不仅仅是能不能达到效果,还要考虑 是否节省内存 ,是否高效。
毫无疑问,基本数据类型 存在于栈内存用完就释放无需等 垃圾回收机制 的不定时操作,更加优化内存,
而且栈内存中的速度也比存放对象的堆内存要快
作者: 郑彬    时间: 2012-8-11 16:01
java中数据类型分为基本数据类型和引用数据类型基本数据就是:int,float,boolean等等,8种,引用数据类型包括:类,数组,接口所以基本数据类型的包装类属于引用数据类型。
而且基本数据类型占用空间少,节约内存,int类型的只要4个字节,但是new一个Integer的对象肯定不止4个字节的。而且基本数据类型值存储在堆栈里,基本数据类型的包装类创建的对象存储在堆里,相比而言,堆栈更高效。包装类是引用传递 而基本类型是值传递。
作者: 黑马-郑鹏    时间: 2012-8-11 17:43
java中设置了基本数据类型,也设置了基本数据类型的包装类,除了基本数据类型更节约空间和更高效外,我认为,还有一个原因是为了让以前学别的程序的程序员能够更好的过度到java中,因为java中的基本数据类型跟以前的语言的数据类型是相似的,同时又提供了基本数据类型的包装类,这样真正体现了java的真正的面向对象。




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