Avatar ·

Kotlin में किसी ऑब्जेक्ट का KClass कैसे प्राप्त करें, Java के getClass() के बजाय?

नमस्ते! मैं Java से Kotlin पर स्विच कर रहा हूँ और एक समस्या का सामना किया है। Java में मैं अक्सर रनटाइम के दौरान ऑब्जेक्ट के क्लास की जानकारी प्राप्त करने के लिए getClass() का उपयोग करता था। उदाहरण के लिए:

\n\n
Object obj = "Hello";\nClass<?> clazz = obj.getClass(); // java.lang.Class प्राप्त करें\nSystem.out.println(clazz.getName()); // java.lang.String प्रिंट करता है\n
\n\n

Kotlin में मुझे पता है कि KClass है — यह java.lang.Class का एनालॉग है, लेकिन इसे कैसे प्राप्त करूं? मैंने इस तरह प्रयास किया:

\n\n
val obj: Any = "Hello"\nval clazz = obj::class // त्रुटि: "This expression is not a class reference"\n
\n\n

या इस तरह:

\n\n
val clazz = obj.javaClass // काम करता है, लेकिन java.lang.Class लौटाता है, KClass नहीं\n
\n\n

मुझे चाहिए कि