Delphi2009初体验 - 语言篇 - 体验泛型(一)2012-02-02 博客园 杨芹勍一、概述二、体验TList<T>三、体验TObjectList<T>四、TList<T>和TObjectList<T>的区别五、后记一、概述等了几百年,Delphi终于原生的支持泛型了。以前使用Delphi,泛型是不被支持的,但是可以用一些第三方库来实现间接的泛型容器支持。如HouSisong大虾编制的DGL泛型库,只需要创建几个简单的“头”文件,就可以拥有指定类型的容器集合类。DGL泛型库非常类似于STL泛型库,很容易上手,如果大家想知道具体使用方法,我另外开文章说明。Delphi2009提供了几个好用的泛型容器,如TList<T>、TQueue<T>、TStack<T>、TDictionary<TKey, TValue>,还有针对于对象使用的TObjectList<T>等几个类。此外,还提供了TArray数组辅助静态类,封装了数组(array of T)的几个常用操作,如排序等。但是在智能感知的时候,TList<T>等泛型集合提示好像有些BUG:

图1为什么是“[]”,而不是“()”?下面针对TList和TObjectList及两者的区别对Delphi2009的泛型功能进行初步体验。