[英]Typing field-symbols with ANY or DATA
我目前正在学习 ABAP,想知道以下定义字段符号的方法有什么区别?
方法一
FIELD-SYMBOLS <fs> TYPE data.
方法二
FIELD-SYMBOLS <fs> TYPE any.
我知道两者都是通用类型的,并且数据类型将在运行时分配。 我不明白的是两者有何不同(或者它们是否完全不同)。
是的 TYPE ANY 和 TYPE DATA 是完全一样的。 摘自ABAP 文档,通用 ABAP 类型:
泛型类型
any
与此处列出的所有泛型类型一样,除了 data 和 object 之外,只能直接在 TYPE 之后指定,并且在那里与泛型类型data
具有完全相同的效果。 在 TYPE REF TO 之后,只能指定数据(对于完全通用的数据引用变量)和对象(对于完全通用的对象引用变量)。 指定 REF TO any 将定义一个完全通用的引用变量,涵盖数据引用和对象引用。 这是目前不可能的。
当分配给它的数据类型未知时,使用ANY类型的字段符号。 类型分配在运行期间执行。这有助于变量保存数据,否则会发生转储或数据丢失。
如果为其分配了特定类型,则只能为其分配该类型的数据,即它只能保存该类型的数据。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.