मैं बहुत तरह जावा में एक विधि है:क्या कोटलिन में चौराहे कास्टिंग संभव है?
public <T extends A & B> methodName(T arg, ...)
जहां एक एक वर्ग है और बी एक अंतरफलक है।
मेरी kotlin वर्ग में, मैं प्रकार सी का एक और variable
है, और मैं निम्नलिखित को प्राप्त करना चाहते हैं:
if (variable is A && variable is B) {
methodName(variable, ...)
} else {
// do something else
}
यह संभव ठीक से तो variable
कास्ट करने के लिए है कि यह त्रुटियों के बिना एक तर्क के रूप में इस्तेमाल किया जा सकता है है ?
वर्तमान में,
variable
एक सेटर विधि है, तो स्मार्ट कास्टिंग उपलब्ध नहीं है। हालांकि, मैंने इसे स्थानीयval
के साथ भी परीक्षण किया है और मानAny
टाइप करने के लिए अनुमानित है जो मदद नहीं करता है।
आपका कोटलिन संस्करण क्या है? –
यहां एक संबंधित समस्या है: https://youtrack.jetbrains.com/issue/KT-7304 –