Kotlin सरणी को Java विधि में varargs के रूप में कैसे पास करें?
सभी को नमस्कार! मैं Kotlin में लिख रहा हूँ और Java विधि को कॉल करते समय एक समस्या का सामना कर रहा हूँ जो varargs (परिवर्तनीय संख्या में तर्क) स्वीकार करती है।
मेरे पास एक Java क्लास है जिसमें एक विधि इस प्रकार है:
```java
public class Printer {
public static void printMessages(String... messages) {
for (String msg : messages) {
System.out.println(msg);
}
}
}
```
Kotlin से मैं इस विधि में स्ट्रिंग्स की एक सरणी पास करना चाहता हूँ। मैं एक सरणी बनाता हूँ:
```kotlin
val array = arrayOf("Привет", "Мир", "Kotlin")
```
लेकिन जब मैं `Printer.printMessages(array)` कॉल करने का प्रयास करता हूँ, तो कंपाइलर एक त्रुटि देता है: "Type mismatch: inferred type is Array but String was expected"।
मैं समझता हूँ कि Java में varargs मूल रूप से एक सरणी है, लेकिन Kotlin सीधे सरणी को varargs में पास करने की अनुमति नहीं देता है। मैंने `*` ऑपरेटर (spread operator) का उपयोग करने का प्रयास किया, लेकिन मुझे यकीन नहीं है कि यह सही है या नहीं।
कृपया बताएं कि Kotlin से Java विधि में varargs के रूप में सरणी को सही तरीके से कैसे पास करें? क्या कोई और तरीका है?