我正在使用Apache Avro。Apache Avro:地圖使用CharSequence作爲密鑰
我的模式有地圖類型:
{"name": "MyData",
"type" : {"type": "map",
"values":{
"type": "record",
"name": "Person",
"fields":[
{"name": "name", "type": "string"},
{"name": "age", "type": "int"},
]
}
}
}
編譯模式,在genated Java類使用CharSequence
作爲Map
MyData
的關鍵後。
它使用起來非常不方便CharSequence
在Map
爲重點,有沒有辦法生成在Apache AvroMap
String
式按鍵?
附:
問題是,例如dataMap.containsKey("SOME_KEY")
將返回即使false
有這樣的關鍵在那裏,只是因爲它是CharSequence
。此外,使用現有密鑰輸入地圖條目不會重複使用舊的密鑰。這就是爲什麼我說這是不方便使用CharSequence
作爲關鍵。
給出你對一個答案的評論:你是否確切地發現了什麼對你來說很重要?在中,你實際使用的'Map'是否使用非'String'鍵? – millimoose
Millimoose,生成的Map使用CharSequence作爲鍵。 – Mellon
默認情況下,生成的地圖使用Utf8,您可以選擇將其設置爲String。 CharSequence只是一個界面。 –