Avatar ·

Kotlin के companion-ऑब्जेक्ट्स में @JvmStatic का उपयोग क्यों और कब करना चाहिए?

सभी को नमस्ते! मैंने Kotlin सीखना शुरू किया है और एक पुराने Java प्रोजेक्ट को फिर से लिख रहा हूँ। companion-ऑब्जेक्ट्स के साथ एक अजीब स्थिति का सामना करना पड़ा। मेरे पास Kotlin में ऐसा कोड है: ```kotlin class MyUtils { companion object { fun formatDate(date: Date): String { // तारीख फ़ॉर्मेट करना return SimpleDateFormat("yyyy-MM-dd", Locale.US).format(date) } const val MAX_COUNT = 100 } } ``` Java कोड से मैं इस method को इस तरह कॉल करने की कोशिश कर रहा हूँ: ```java String formatted = MyUtils.formatDate(new Date()); ``` लेकिन compiler एक error दे रहा है! मुझे `MyUtils.Companion.formatDate(...)` लिखना पड़ता है, जो बहुत बुरा लगता है। मैंने `@JvmStatic` annotation के बारे में पढ़ा है, लेकिन पूरी तरह से समझ नहीं पाया: 1. Kotlin ऐसा व्यवहार क्यों करता है? Java में तो मैं सीधे st