将数字转换为groovy中的字符串

时间:2017-01-19 04:22:16

标签: java groovy

是否有任何方法可以将数字转换为纯Groovy中的字符串,或者将数字和字符串连接到字符串。 几乎似乎你可以。

例如:

def t = [:]
t['a' << 24] = "happy"
println t
println t.get('a24')

第3行将显示类似[a24:happy]的内容但在第4行中无法检索。将第2行更改为t['a24'] = "happy"在第3行显示看似相同的打印但它实际上取得了结果第4行。

如果我检查每个类型,它们都返回class java.util.LinkedHashMap

那么,是否有一种纯粹的Groovy方法将数字转换为字符串和/或组合字符串+数字,还是必须用Java完成?

1 个答案:

答案 0 :(得分:2)

Groovy通过调用<<来实现leftShift(),因此'a' << 24实际上会调用String.leftShift(Object value),这会返回StringBuffer,而不是String。< / p>

这意味着您的地图密钥为StringBuffer,因此调用传递get('a24')的{​​{1}}将找不到任何内容。

您可以通过打印类型来看到:

String