में सुरक्षा टाइप करें मेरे पास एक मोंगोडीबी दस्तावेज़ में एक फ़ील्ड है जो मनमाने ढंग से बड़ी संख्या में स्टोर करता है। जब मैं एक DBObject (MongoDB के लिए जावा चालक) के रूप में इसे पुनः प्राप्त है, मैं कभी कभी एक ClassCastException में चलाने:मोंगोडीबी/जावा: DBObjects
DBObject obj = collection.findOne();
long val = (Long)(o.get("numericVal"));
तो numericVal
में संग्रहीत मूल्य, कहते 1234567890 है, लंबे समय के लिए डाली सफल होता है। यदि ऐसा है, तो कहें, 12345, DBObject.get() एक डबल देता है, और कलाकार विफल रहता है।
मैं MongoDB DBObjects को deserializing करते समय टाइप सुरक्षा कैसे सुनिश्चित कर सकता हूं?
आप सकारात्मक मूल्य 'है 12345' कर रहे हैं? कच्चे मूल्य को देखने के लिए मोंगो के साथ कोई रास्ता है - क्या इसमें JSON प्रतिनिधित्व है? –
मैंने इसे खोल के माध्यम से 12345 के रूप में दर्ज किया, लेकिन जब मैं इसे खोल में प्रिंट करता हूं तो यह 12345.0 के रूप में दिखाई देता है। जाहिर है कि पार्सर (जावा चालक) पक्ष पर यह एक मुद्दा है, लेकिन मुझे नहीं पता कि यह पहली जगह में मोन्गो पक्ष पर कैसा हुआ। उस ने कहा, मैं जानना चाहता हूं कि सामान्य रूप से जावा चालक के साथ प्रकार की सुरक्षा को कैसे बनाए रखा जाए। – ericsoco