Java基础:一、容器(9)
- 2020 年 3 月 17 日
- 筆記
容器
创建一种对象类型。这种新的对象类型持有其他对象的应用。这个通常通常被称为容器
Java中具有满足不同需要的各种类型的容器,List(用于存储序列),Map(用来建立对象之间的关联),Set(每中对象类型只持有一个),以及诸如队列、树、堆栈等更多的构件
泛型
前提
在JavaSE5之前,容器存储的对象都只具有Java中的通用类型:Object,由于只能存储object类型,所以当将对象引用置入容器时,必须被向上转型为Object,因此会丢失其身份,当把它取回时,就获取了一个对Object对象的引用,而不是对置入时那个类型的对象的引用。所以怎样才能将它变回先前置入容器中时的具有实用接口的对象呢?
这里要用到向下转型为更具体的类型,这种转型方式是向下转型。我们知道,向上转型是安全的,然而向下转型是不安全的,如果向下转型为错误的类型,就会得到被称为异常的运行时错误。
参数化类型机制
创建容器时,就确定要容器要保存的对象的类型,从而不需要向下转型以及消除犯错误的可能。这种解决方案被称为参数化类型机制。一对尖括号,中间包含类型信息,通过这些特征就可以识别对泛型的使用
ArrayList<Shape> shapes = new ArrayList<Shape>();