Avatar ·

Kotlin में जेनेरिक पैरामीटर का क्लास कैसे प्राप्त करें? (reified, inline और TypeReference)

सभी को नमस्ते! मैं हाल ही में Kotlin में लिख रहा हूँ, और एक समस्या का सामना किया जो Java में आसानी से हल हो जाती थी, लेकिन Kotlin में मुझे कठिनाई हो रही है। मुझे फंक्शन के अंदर यह जानना है कि इसे किस प्रकार के पैरामीटर के साथ कॉल किया गया था। उदाहरण के लिए, मेरे पास ऐसा कोड है:\n\n```kotlin\nfun processList(items: List) {\n // यहाँ कैसे पता करें कि T String, Int या कुछ और है?\n // मैं टाइप को लॉग में दिखाना चाहता हूँ\n println("Processing items of type: ${T::class}") // त्रुटि!\n}\n```\n\nJava में मैं Class का उपयोग करता और इसे स्पष्ट रूप से पास करता। लेकिन Kotlin में मैं इससे बचना चाहता हूँ और API को साफ बनाना चाहता हूँ। मैंने T::class का उपयोग करने की कोशिश की, लेकिन कंपाइलर कहता है: "Cannot use 'T' as reified type parameter. Use a class instead." मैंने reified के बारे में पढ़ा, लेकिन पूरी तरह से समझ नहीं पाया कि यह कैसे काम करता है। साथ ही, मुझे चाहिए कि फंक्शन सार्वभौमिक हो।