对Java中为什么要引入包装类的理解

最近在准备找工作,开始补一补原本薄弱的Java基础知识。今天遇到的问题是,Java中已经有了int,float,double等这样的基本数据类型,为什么还需要包装类把它们包装成类呢?参考了这个网址后做了一下整理。

- Java中基本数据类型与包装类型有:
对Java中为什么要引入包装类的理解_第1张图片

  • 为什么需要两种类型?
    在Java语言中,一些都是以类和对象来设计的,所有的数据类型都是引用类型(指向内存中某个对象的地址)创建一个对象后会存储在堆里,然后通过栈的引用来使用对象(堆中存放具体内容,栈中存放对象的地址)。但是对于一些经常用到的一系列类型如int,float,double,如果每次都创建出来放到堆里就会变的不是很有效率,所以就出现了基本类型,直接将变量值存储在栈中,不用创建new关键字来创建,可以变得更加高效。
    而基本类型不具有对象的性质,为了让基本数据类型也具有对象的特征,就出现了包装类型。如果某个方法需要Object类型的参数,而实际需要的值是2,3等整数值时,包装类就派上了用场,再比如使用Collection集合类型时就一定要使用包装类而不是基本类型。

你可能感兴趣的:(对Java中为什么要引入包装类的理解)