我正在使用Delphi XE3。在搜索TObjectList的帮助时,我发现它以两个单位出现:
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Contnrs.TObjectList
和
http://docwiki.embarcadero.com/Libraries/Tokyo/en/System.Generics.Collections.TObjectList
在这种情况下,使用该类应该包括哪个单元? TObjectList和TList之间也有什么区别,我只是在第一个文档中看到TObjectList = class(TList),所以TObjectList与TList相同?
谢谢
最佳答案
System.Contnrs.TObjectList
是对象列表的较旧的旧版非通用版本。System.Generics.Collections.TObjectList<T>
是较新的通用版本。
请参见Overview of Generics。
使用适合您需求的任何一种。
非泛型TList
只是原始指针的列表。它对存储在其中的指针没有任何特殊的作用。
非通用TObjectList
派生自TList
,以添加对通用TObject
指针的额外处理,例如添加OwnsObjects
属性,该属性允许在列表本身被释放时释放列表中的存储对象。
通用TList<T>
与非通用TList
相似,但不是从非通用T
派生的,其中TList<Integer>
可以是任何类型,甚至不需要是指针(例如TObjectList<T>
)。
泛型TObjectList
与非泛型T
相似,但并非派生自其中,TObject
可以是源自的任何类类型。
关于delphi - TObjectList以两个单位出现,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/52965187/