लिए मैं वर्ग पर एक पैटर्न मैच करने की जरूरत है। समस्या यह है कि मुझे लम्बे समय से मेल खाने में कुछ समस्याएं हैं।स्काला: कैसे पैटर्न मैच scala.Long और java.lang.Long
मैं उसी तरह से scala.Long और java.lang.Long संभालने की ज़रूरत है, लेकिन क्यों मैं उन्हें दोनों ही मामलों में घोषित करने के लिए की जरूरत है?
def test(typ: Class[_]) {
typ match {
case q if q == classOf[Long] => println("scala long...")
}
}
val scalaLongField: java.reflect.Field = ......
val javaLongField: java.reflect.Field = ......
test(scalaLongField.getType) // prints "scala long..."
test(javaLongField.getType) // scala.MatchError: class java.lang.Long (of class java.lang.Class)
वहाँ एक रास्ता उन्हें एक उदाहरण लेकिन सिर्फ वर्ग बिना ही संभाल करने है:
यहाँ एक उदाहरण है?
सिर्फ अगर मैं मूल्य है! मैं इस की जरूरत है काम करने के लिए जब मैं केवल वर्ग है, जैसे मैं प्रश्न में कहा: "? वहाँ एक तरीका है कि उन्हें एक उदाहरण लेकिन सिर्फ वर्ग बिना ही संभाल करने है" – maklemenz
@mklemenz आपको अपने उदाहरणों को बिल्कुल वही करने के लिए अच्छी तरह से सेवा दी जाएगी जो आप चाहते हैं। आपके नमूना विधियों के बहुमत (2/3) में मूल्य होता है, केवल एक में केवल कक्षा होती है। –
मैंने प्रश्न संपादित किया है – maklemenz