Kotlin से Java में एक्सटेंशन फ़ंक्शन कैसे कॉल करें और वे दिखाई क्यों नहीं देते?
सभी को नमस्ते! मैं Kotlin में नौसिखिया हूँ, Java से आ रहा हूँ। मैंने एक अलग फ़ाइल Utils.kt में String क्लास के लिए कुछ एक्सटेंशन फ़ंक्शन लिखे:
```kotlin
// Utils.kt
package com.example.utils
fun String.isEmail(): Boolean = this.contains("@")
fun String.capitalizeWords(): String = this.split(" ").joinToString(" ") { it.capitalize() }
```
Kotlin में सब कुछ ठीक काम करता है, लेकिन जब मैं Java कोड से इन फ़ंक्शन को कॉल करने की कोशिश करता हूँ, तो IDE उन्हें लाल रंग में हाइलाइट करता है:
```java
// Main.java
import com.example.utils.UtilsKt; // इम्पोर्ट आ गया, लेकिन...
public class Main {
public static void main(String[] args) {
String email = "test@example.com";
// त्रुटि: Cannot resolve method 'isEmail'
System.out.println(email.isEmail());
// और यह भी काम नहीं करता:
// System.out.println(UtilsKt.isEmail(email));
}
}
```
मैंने पढ़ा है कि Kotlin एक्सटेंशन फ़ंक्शन को स्टैटिक मेथड में कंपाइल करता है, लेकिन वे String क्लास के सामान्य मेथड के रूप में दिखाई क्यों नहीं देते?