का उपयोग करते समय ArrayIndexOutOfBoundsException मुझे यकीन नहीं है कि यह कैसे संभव है, लेकिन मैं जो प्रोग्राम चला रहा हूं वह मुझे एक अजीब त्रुटि दे रहा है। मुझे प्रत्येक लूप के लिए एक ArrayIndexOutOfBoundsException: -1 पर मिल रहा है। पूरे त्रुटि के नीचे है:XStream
Exception in thread "main" java.lang.ArrayIndexOutOfBoundsException: -1
at com.thoughtworks.xstream.core.util.OrderRetainingMap.entrySet(OrderRetainingMap.java:77)
at java.util.HashMap.putMapEntries(HashMap.java:511)
at java.util.HashMap.putAll(HashMap.java:784)
at com.thoughtworks.xstream.core.util.OrderRetainingMap.<init>(OrderRetainingMap.java:36)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.buildMap(FieldDictionary.java:135)
at com.thoughtworks.xstream.converters.reflection.FieldDictionary.fieldsFor(FieldDictionary.java:76)
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.visitSerializableFields(PureJavaReflectionProvider.java:126)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.doMarshal(AbstractReflectionConverter.java:81)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.marshal(AbstractReflectionConverter.java:72)
at com.thoughtworks.xstream.core.AbstractReferenceMarshaller.convert(AbstractReferenceMarshaller.java:69)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:58)
at com.thoughtworks.xstream.core.TreeMarshaller.convertAnother(TreeMarshaller.java:43)
at com.thoughtworks.xstream.core.TreeMarshaller.start(TreeMarshaller.java:82)
at com.thoughtworks.xstream.core.AbstractTreeMarshallingStrategy.marshal(AbstractTreeMarshallingStrategy.java:37)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:895)
at com.thoughtworks.xstream.XStream.marshal(XStream.java:884)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:857)
at com.thoughtworks.xstream.XStream.toXML(XStream.java:844)
at unl.cse.assignments.DataConverter.output(DataConverter.java:210)
at unl.cse.assignments.DataConverter.main(DataConverter.java:121)
लाइन 210 pw.print लाइन है:
for(Product p : products)
{
if(AwardTicket.class.isInstance(p)){
xstream.alias("awardTicket", AwardTicket.class);
pw.print(xstream.toXML(p) + "\n");
}
}
(लाइन 121 सिर्फ उत्पादन पर कॉल)
मैं के लिए इस त्रुटि की जांच कर रहा है एक लंबा समय और मैं इसका कारण नहीं समझ सकता। मैंने माना कि एक्सस्ट्रीम के साथ कुछ गड़बड़ है, लेकिन मैंने इसे अन्य आउटपुट के साथ करने की कोशिश की।
मैं _p_ ऑब्जेक्ट सामग्री की जांच करूंगा -> उनमें से किसी पर कुछ गलत होना चाहिए। या शायद _xstream_ में कोई समस्या है – JavierFromMadrid
पी (उत्पादों) की सामग्री वास्तव में उत्पाद के उप-वर्ग हैं। क्या यह एक संभावित मुद्दा हो सकता है? – Tanner
एक बग हो सकता है जो 1.4.6 में तय किया गया था: http://x-stream.github.io/jira/746/ – Andreas