什么时候应该在BLPAPI中使用Name

时间:2013-12-19 02:59:53

标签: bloomberg

在BLPAPI的许多地方,可以选择使用字符串或名称

什么时候应该使用Name,什么时候使用string更好?

1 个答案:

答案 0 :(得分:2)

名称是为比较而优化的类

它为每个字符串保存一个静态查找,但每个name实例只包含一个指针(对象),每个具有相同String值的Name都将包含一个包含相同指针的Name。因此,对等式的比较只是比较那些指针而不是整个字符串。 它类似于Java的实习生String

最好为每个字段和MessageType设置静态名称,这样比较和字段查找就会更快。

由于它为每个Name保留静态查找,因此最好不要对字段值使用名称,因为名称在静态查找中占用空间而且无法清除。

保持Name for the Values的一个例外是类型为Enum的字段的值。 BLPAPI中的枚举是字符串(不是整数),或者更准确地说它们是名字

当API连接时,它会下载模式,并且每个字段,Messagetype和Enum都会加载到Name静态查找中,因此使用这些名称非常有效。