java 为什么要有装箱和拆箱?

2025-03-31 23:56:31
推荐回答(2个)
回答1:

把一个基本类型包装成一个类,一个是可以使这个类型具有很多可以调用的方法。二个是Java向面像对象语言的靠近。其实Java还不算是很纯的面向对象的语言。真正的面向对象,是没有基本数据类型的。它只有一种类型,就是对象。三个是在泛型中,基本类型是不可以做泛型参数的。如:List list = new ArrayList ();这是不合法的。你只能这个样写List list = new ArrayList ();也就是要用int型的包装类类型来解决基本类型不可以做泛型参数的问题 。
一名话,包装类有更多的方法和用途, 而这是基本类型没有的!!!

回答2:

是java早年设计缺陷。基础类型是数据,不是对象,也不是Object的子类。
需要装箱才能和其他Object的子类共用同一个接口,
比如foo(Object o)