第8章 对象的容纳
1.数组
考虑到执行效率和类型检查,尽可能地采用数组。
2.集合
四种类型:Vector(矢量)、bitset(位集)、Stack(堆栈)、Hashtable(散列表)。
Hashtable是一种关联数组,允许我们将对象关联起来,集合类会自动改变自身的大小。
缺点是:将对象置入一个集合时丢失了类型信息,在使用的时候必须进行造型。
3.枚举器(反复器)
可以利用集合的某个方法(比如 elements()或者iterator())返回一个反复器(
枚举器),就可以利用反复器遍历集合,对于哪种集合都是适用的,不受集合类型限制。
4.java崩溃
public String toString() {
return "CrashJava address: " + this + "\n";
}
在使用上面的代码返回一个字符串的时候程序崩溃,因为this会调用方法toString(),
造成递归调用。
5.BitSet
由“二进制位”构成的的Vector,可以用在保存大量“开-关”信息,使用在高并发的场景。
不过应尽量避免使用BitSet,应为BitSet还不是很稳定,容易出现违例。