You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何比较两个RTTI类型描述符是否相等?同一类型描述符是否引用同一实例?

判断两个RTTI对象是否描述同一类型

可以安全通过实例引用相等(lo_typedescr1 = lo_typedescr2)来判断两个RTTI对象是否指向同一类型。

原因在于ABAP的RTTI类型描述器(如CL_ABAP_TYPEDESCR及其子类)采用单实例缓存设计:同一个数据类型对应的RTTI描述对象在系统中只会存在唯一实例。无论你通过CL_ABAP_TYPEDESCR=>DESCRIBE_BY_DATA()、DESCRIBE_BY_NAME()还是其他RTTI方法获取类型描述,只要目标类型相同,返回的必然是同一个对象引用。

你给出的代码逻辑完全正确:

IF lo_typedescr1 = lo_typedescr2.
  " Described types are identical
ELSE.
  " Described types are not identical
ENDIF.

直接比较两个RTTI对象的引用,就能准确判定它们是否描述同一类型,不存在误判风险。

内容的提问来源于stack exchange,提问作者Cutter

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.20 16:47:02