मैं सिर्फ स्काला के साथ शुरू कर दिया और कोई समस्या हुई थी:दोहराएं
स्काला प्रकार Tuple1
, Tuple2
, ..., Tuple22
है। प्रश्नों पर पुनरावृत्ति करते समय Scalaquery tuples देता है।
अब मेरे पास एक दिया गया वर्ग (जेडके ListitemRenderer
) है, जो Object
एस स्वीकार करता है और पंक्तियों के साथ गुई सूचियों को पॉप्युलेट करता है, जिनमें से प्रत्येक में कुछ कोशिकाएं होती हैं। लेकिन ListitemRenderer
सामान्य नहीं है। तो मेरी समस्या यह है कि मेरे पास Object
"डेटा" है, जो वास्तव में मनमानी लंबाई का एक गुच्छा है, जिसे मुझे कोशिकाओं को बनाने के लिए फिर से शुरू करना है (बस data._1.toString
, ... के साथ)।
के बाद से वहाँ, कोईमैं Tuple1-22
को महाप्रकार नहीं पता था है मैं नहीं कर सकते न सिर्फ data.asInstanceOf[Tuple].productIterator foreach {…}
मैं क्या कर सकते हैं कर सकता है?
उत्तर नीचे मुझसे कहा था वास्तव में सभी tuples के लिए एक विशेषता है कि वहाँ - Product
- वांछित foreach
समारोह प्रदान करते हैं।
मुझे क्या 'data.asInstanceOf [उत्पाद] .productIterator foreach {...}'? –
@ फ्लाईंग भेड़: यह चाल चलाना चाहिए, लेकिन आप 'किसी भी' या 'AnyRef'' के बजाय अपने उत्पाद के 'डेटा' तर्क को 'उत्पाद'' के रूप में टाइप कर सकते हैं (मुझे लगता है कि आपका मतलब है कि जब आप 'ऑब्जेक्ट' कहते हैं) । वह आपको कास्ट बचाएगा। – kassens
जैसा कि सवाल में कहा गया है: फ़ंक्शन मैं एक गैर-जेनेरिक इंटरफ़ेस से एक फ़ंक्शन लागू करता हूं, इसलिए मैं टाइपिंग को बदल नहीं सकता और उसे कास्ट करना पड़ता हूं, सिवाय इसके कि स्केल के पास जेनेरिक होने के लिए इंटरफ़ेस को बंदरगाह करने का कोई तरीका है। –