abap中String类型的缺点是什么?何时使用,何时不使用?
一个例子:我有一个文本字段,应该保存0到12个字符的值,最好使用字符串或字符(12)?
谢谢!
答案 0 :(得分:7)
字符串存储为动态字符数组,而char是静态分配的。
字符串的一些缺点包括:
因此,为了回答您的问题,字符串应仅用于具有各种长度的相当长的值,其中额外开销相对于静态char(x)
变量的潜在浪费空间可忽略不计。
答案 1 :(得分:2)
我认为CHAR是最好的,因为你100%确定该字段只能容纳0-12个字符。
答案 2 :(得分:1)
string是可变长度的数据类型,而在char中你必须定义长度.. 对于类型C(文本字段(字母数字字符))和字符串X或十六进制字符串具有初始值(X'0 ... 0')。 避免使用初始值,并使用实际长度C类型
答案 3 :(得分:0)
字符串变量: String是一种可变长度数据类型,用于存储任何长度的数据。使用可变长度字段是因为它们节省了空间。 字符串,可以存储任意数量的字符。 String将在运行时分配内存,也称为动态内存分配,将根据字符串的大小分配内存。无法使用参数声明字符串,因为分配的内存是动态的。
但是在您的情况下,您已经知道字段的最大长度(0到12个字符),因此CHAR type
最适合您的情况。 STRING
类型通常用于可变长度数据或长值。
答案 4 :(得分:0)
字符串很好:
CHAR字段很好:
要记住的事情:
'test'
表示CHAR,test
表示STRING。这通常会稍快一些。