|
1
37
您没有与泛型列表相同的类型safety with ArrayList。性能问题在于需要将对象强制转换回原始对象(或者发生隐式装箱)。
问题不仅在于性能,还在于可读性和正确性。自从泛型出现以来,这个对象已经过时了,只有在.NET1.0/1.1代码中才需要它。 |
|
|
2
14
如果存储的是值类型(int、float、double等-或任何结构),ArrayList将对每个存储进行装箱,并对每个元素访问进行解装箱。这可能对性能造成重大影响。
另外,如果你
存储对象的行为,您可以随时使用
|
|
3
4
列表避免了这些问题,因为它是用正确的类型构造的。
|
|
|
5
2
除了性能问题之外,还需要将错误从运行时转移到编译时。从中检索的强制转换对象
|
|
|
6
1
所有的装箱和拆箱都是昂贵而易碎的。微软在.NET2.0泛型的类型和性能方面做了一些很好的改进。 以下是一些好的读物:
|