मैं Apache Avro का उपयोग कर रहा हूं।अपाचे एवरो: नक्शा CharSequence का उपयोग करता है कुंजी
{"name": "MyData",
"type" : {"type": "map",
"values":{
"type": "record",
"name": "Person",
"fields":[
{"name": "name", "type": "string"},
{"name": "age", "type": "int"},
]
}
}
}
बाद स्कीमा, genated जावा वर्ग उपयोग CharSequence
Map
MyData
के लिए कुंजी के रूप में संकलन:
मेरे स्कीमा नक्शा प्रकार है।
यह बहुत कुंजी के रूप में Map
में CharSequence
उपयोग करने के लिए असुविधाजनक है, वहाँ एक रास्ता Apache Avro में Map
के लिए String
प्रकार कुंजी उत्पन्न करने के लिए है?
पीएस
समस्या है कि, उदाहरण के लिए dataMap.containsKey("SOME_KEY")
इच्छा देता है वहाँ इस तरह के महत्वपूर्ण है, सिर्फ इसलिए कि यह CharSequence
है false
भले ही है। इसके अलावा, किसी मौजूदा कुंजी के साथ नक्शा प्रविष्टि डालें, पुराने को स्थानांतरित नहीं करता है। यही कारण है कि मैं कहता हूं कि CharSequence
कुंजी के रूप में उपयोग करना असुविधाजनक है।
एक उत्तर पर आपकी टिप्पणी को देखते हुए: क्या आपको पता चला कि आपके लिए क्या तोड़ रहा है? जैसा कि, क्या आप 'मानचित्र' वास्तव में गैर-'स्ट्रिंग' कुंजी का उपयोग करते हैं? – millimoose
मिलीमूज़, उत्पन्न नक्शा कुंजी के लिए CharSequence का उपयोग करें। – Mellon
जेनरेट किया गया मानचित्र डिफ़ॉल्ट रूप से Utf8 का उपयोग करता है, और आप इसे स्ट्रिंग बनाना चुन सकते हैं। CharSequence सिर्फ एक इंटरफ़ेस है। –