Avatar ·

Kotlin में वेरिएबल से पहले * (स्टार) ऑपरेटर का क्या मतलब है? Spread Operator

नमस्ते! मैं Kotlin सीख रहा हूँ और मुझे एक अजीब सिंटैक्स मिला जिसे मैं समझ नहीं पा रहा हूँ। मुझे ऐसा कोड मिला:\n\n```kotlin\nval numbers = listOf(1, 2, 3)\nval moreNumbers = listOf(0, *numbers.toTypedArray(), 4, 5)\nprintln(moreNumbers) // [0, 1, 2, 3, 4, 5]\n```\n\n`numbers.toTypedArray()` से पहले `*` (स्टार) का क्या मतलब है? मुझे पता है कि Java में arrays को अनपैक करने के लिए ऐसा ही ऑपरेटर है, लेकिन Kotlin में मैं lists और arrays के साथ अलग तरह से काम करने का आदी हूँ।\n\nमैंने स्टार के बिना ऐसा ही कोड लिखने की कोशिश की:\n\n```kotlin\nval wrong = listOf(0, numbers.toTypedArray(), 4, 5)\nprintln(wrong) // [0, [Ljava.lang.Integer;@..., 4, 5]\n```\n\nकुछ बकवास निकला — list में array का object आ गया, उसके elements नहीं। इस ऑपरेटर का सही उपयोग कैसे करें? क्या कोई alternatives हैं? और Kotlin में, जो...