为什么Java的容器不能装原始类型如int等,这个设计为了什么呢?
如题,要是Java的容器运行其中的对象是int,char之类的基本类型,会有什么问题么?
------解决方案-------------------- java的容器中可以放基本的数据类型,但是是以包装类的形式,如int 在 容器中是先包装成Integer,再转变成Object存放。任何一种数据类型或者对象放进容器中后都会失去原有的类型,变成 Object,从容器中取出后进行转型就可以了
------解决方案--------------------容器类里放的其实是对象,基本类型不是完全的对象,所以在会转换为相应的封装类
------解决方案--------------------因为java 总的一层来说:
万物皆对象..
而容器里面可以存储基本数据类型
其中经历了(装箱的一个过程.)
如果说好处的:
万物皆对象..,你没对象就是不靠谱.
------解决方案--------------------因为基本类型不是对象
------解决方案--------------------Integer 等关键字将基本类型数据转换成Object 类型
------解决方案--------------------
《Think in java》 中是这样解释的: 由于当初编写集合时,那个集合的程序员根本不知道用户到底想把什么类型置入集合。若指示某个集合只允许特定的类型,会妨碍它成为一个“常规用途”的工具,为用户带来麻烦。为解决这个问题,集合实际容纳的是类型为Object的一些对象的句柄。 举个例子,如果集合里面放的是 Cat类型,那么只能放cat,放个 狗 Dog 进去就会报错 ,如果设计成Object,任何动物都可以放到集合里