Java既然是面向对象的,宣称一切都是对象,那为什么还有基础类型?
基本数据类型是用的最频繁的类型。
而且占用存储空间小,可以把它们存入栈中,实现快速的操作。
而他们的封装类Integer等,必需创建实例,在堆中开辟内存,既消耗资源,又耗费时间。他们类似于其他大多数非面向对象语言的简单数据类型。
boolean byte short char int long float double 说他们是基本数据类型是因为他们在内存中值使用栈作为存储空间,而与之相对的引用数据类型(String 数组 对象等等)则是同时占用栈与堆。所以,使用基本数据类型的包装类要比基本数据类型的效率低一些。
这样做的原因是出于效率方面的考虑。