我正在尝试使用 Jackson CBOR 数据格式库将映射序列化为 Kotlin 中的 CBOR,如果键是 String ,这可以正常工作,我可以轻松检索该键的值,但是当 Int 中的键时,它返回 null 给我对于我所做的每一次获取,如果我打印出 values() 的输出,它会为我提供所有键的所有值。
代码如下所示:
val mapper = CBORMapper()
val map = HashMap<Any,Any>()
map[123] = intArrayOf(22,67,2)
map[456] = intArrayOf(34,12,1)
val cborData = mapper.writeValueAsBytes(map)
println(cborData.toHex())
val deserialized = mapper.readValue(cborData, HashMap<Any,Any>().javaClass)
println(deserialized.get(123)) // returns null
println(values()) // returns all values