是否有任何方法可以将纯 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 中完成?
最佳答案
Groovy 实现 <<
通过调用 leftShift()
,所以'a' << 24
实际上调用 String.leftShift(Object value)
,它返回 StringBuffer
,不是String
.
这意味着您的 map 键是 StringBuffer
,如此称呼get('a24')
,您在其中传递 String
,将找不到任何东西。
您可以通过打印类型来看到:
t.each { k, v -> println k.getClass() } // prints: class java.lang.StringBuffer
关于java - 在groovy中将数字转换为字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41733708/