के लिए कोटलिन जेनेरिक सीमाएं निम्नलिखित जेनेरिक संकलित नहीं करती हैं। यहां अर्थपूर्ण रूप से गलत क्या है?कक्षा
समारोह कॉल
start(MainActivity.javaClass) // <== Doesn't compile
विधि परिभाषा
// Definition
public fun <T : Activity> start(activityClass: Class<T>) {
startActivity(Intent(this, activityClass))
}
कंपाइलर त्रुटि
Error:(43, 9) Type parameter bound for T in fun <T : android.app.Activity>
start(activityClass: java.lang.Class<T>): kotlin.Unit is not satisfied:
inferred type com.mobsandgeeks.hellokotlin.MainActivity.
<class-object-for-MainActivity> is not a subtype of android.app.Activity
धन्यवाद उपयोग, कि काम भी शामिल है। यदि मैं MainActivity.javaClass में पास करना चाहता हूं तो मुझे किस आनुवांशिक प्रकार पैरामीटर का उपयोग करना चाहिए? –
यदि आपका मतलब जावा की 'MainActivity.class' का एनालॉग है, तो Kotlin –
एंड्री में' javaClass() 'का उपयोग करें, यह सही है। मैं पूछना चाहता था, उपरोक्त कोड के संकलन के लिए फ़ंक्शन हस्ताक्षर कैसे बदलें? –