TObjectList出现在两个单元中

TObjectList appear in two units

我正在使用 Delphi XE3。在搜索 TObjectList 的帮助时,我发现它以两个单位出现:

http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Contnrs.TObjectList

http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Generics.Collections.TObjectList

在这种情况下,我应该包括哪个单位才能使用 class?另外,TObjectList 和 TList 之间有什么不同,我只是在第一个文档中看到 TObjectList = class(TList) 所以 TObjectList 与 TList 相同?

谢谢

System.Contnrs.TObjectList 是对象列表的旧版非通用版本。

System.Generics.Collections.TObjectList<T> 是较新的通用版本。

参见 Overview of Generics

根据您的需要使用任何一个。

非泛型 TList 只是一个原始指针列表。它不会对存储在其中的指针执行任何特殊操作。

非通用 TObjectListTList 派生的 以添加对通用 TObject 指针的额外处理,例如添加OwnsObjects 属性 允许列表在释放列表本身时释放存储的对象。

泛型 TList<T> 与非泛型 TList 相似,但并非派生自非泛型 TList,其中 T 可以是 any类型,它甚至不需要是指针(例如,TList<Integer>)。

泛型 TObjectList<T> 类似于非泛型 TObjectList,但不是派生自非泛型 TObjectList,其中 T 可以是派生自的任何 class 类型TObject