java的容器中可以放基本的数据类型,但是是以包装类的形式,如int 在 容器中是先包装成Integer,再转变成Object存放。
集合中也可以放类的实例化对象。
任何一种数据类型或者对象放进容器中后都会失去原有的类型,变成 Object,用的时候从容器中取出后进行转型成所需的类型就可以了,
《Think in java》 中是这样解释的: 由于当初编写集合时,那个集合的程序员根本不知道用户到底想把什么类型置入集合。
若指示某个集合只允许特定的类型,会妨碍它成为一个“常规用途”的工具,为用户带来麻烦。为解决这个问题,
集合实际容纳的是类型为Object的一些对象的句柄。
举个例子,如果集合里面放的是 Cat类型,那么只能放cat,放个 狗 Dog 进去就会报错 ,如果设计成Object,
任何实现了动物类的对象都可以放到集合里,所以就具有了通用性