Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Android

Kotlin में Java के String[] के समकक्ष क्या है?

परिचय

Java में `String[]` एक स्ट्रिंग सरणी घोषित करता है। Kotlin में इसके कई समकक्ष हैं, प्रत्येक अलग उपयोग के मामले के लिए।

विधि 1: arrayOf() - खाली या भरा हुआ Array

fun main() {
    // खाली String Array
    val emptyArray = arrayOf()
    println("खाली: ${emptyArray.size}")  // 0
    
    // मानों के साथ
    val filledArray = arrayOf("Apple", "Banana", "Cherry")
    println("भरा: ${filledArray.joinToString()}")
    
    // एक्सप्लिसिट टाइप
    val explicitArray: Array = arrayOf("A", "B")
}

विधि 2: arrayOfNulls() - नल्स से भरा Array

fun main() {
    // आकार 3 का Array, सभी तत्व null
    val nullableArray: Array = arrayOfNulls(3)
    println("नल्स: ${nullableArray.joinToString()}")  // null, null, null
    
    // नॉन-नल Array के लिए उपयोग नहीं कर सकते
    // val nonNull: Array = arrayOfNulls(3) // कंपाइल त्रुटि
}

विधि 3: emptyArray() - खाली Array (सिंगलटन)

fun main() {
    val empty = emptyArray()
    println("खाली: ${empty.size}")  // 0
    
    // यह एक सिंगलटन इंस्टेंस लौटाता है (मेमोरी कुशल)
    println(empty === emptyArray())  // true
}

विधि 4: Array कंस्ट्रक्टर - आकार + इनिशियलाइज़र

fun main() {
    // आकार 5, प्रत्येक तत्व = "Item $index"
    val initialized = Array(5) { i -> "Item $i" }
    println("इनिशियलाइज़्ड: ${initialized.joinToString()}")
    // आउटपुट: Item 0, Item 1, Item 2, Item 3, Item 4
}

विधि 5: List.toTypedArray() - List से Array

fun main() {
    val list = listOf("A", "B", "C")
    val array = list.toTypedArray()
    println("List से Array: ${array.joinToString()}")
}

तुलना तालिका

विधिउपयोग का मामलानल अनुमतआकार
arrayOf()ज्ञात मानों के साथ Arrayनहीं (Array<String>)मानों की संख्या
arrayOfNulls(n)नल प्लेसहोल्डर्स के साथ Arrayहाँ (Array<String?>)निश्चित (n)
emptyArray()खाली Array (सिंगलटन)नहीं0
Array(n) { }पैटर्न-आधारित इनिशियलाइज़ेशनलैम्ब्डा पर निर्भरनिश्चित (n)
list.toTypedArray()List से रूपांतरणList पर निर्भरList आकार

वरैग्स (Varargs) के लिए Java इंटरऑप

// Java मेथड: void printStrings(String... args)
// Kotlin से कॉल:
fun javaStyleMethod(vararg items: String) {
    items.forEach { println(it) }
}

fun main() {
    // स्प्रेड ऑपरेटर का उपयोग
    val array = arrayOf("A", "B", "C")
    javaStyleMethod(*array)  // *array = स्प्रेड ऑपरेटर
    
    // या सीधे
    javaStyleMethod("X", "Y", "Z")
}

सर्वोत्तम अभ्यास

  • arrayOf() - जब मान ज्ञात हों
  • Array कंस्ट्रक्टर - जब पैटर्न/गणना से मान बनाएं
  • emptyArray() - खाली सरणी के लिए (शून्य आवंटन)
  • arrayOfNulls() - जब बाद में भरेंगे (nullable)
  • प्रिमिटिव Arrays के लिए: `intArrayOf()`, `doubleArrayOf()`, आदि।
  1. Java में StringIndexOutOfBoundsException क्या है? Java में StringIndexOutOfBoundsException क्या है?

    स्ट्रिंग्स का उपयोग Java में वर्णों के अनुक्रम को संग्रहीत करने के लिए किया जाता है, उन्हें ऑब्जेक्ट्स के रूप में माना जाता है। java.lang पैकेज का String क्लास एक स्ट्रिंग का प्रतिनिधित्व करता है। आप स्ट्रिंग को या तो new कीवर्ड का उपयोग करके (किसी अन्य ऑब्जेक्ट की तरह) बना सकते हैं, या लिटरल को मान

  1. Java में ArrayIndexOutOfBoundsException क्या है? Java में ArrayIndexOutOfBoundsException क्या है?

    एक सरणी एक डेटा संरचना/कंटेनर/ऑब्जेक्ट है जो एक ही प्रकार के तत्वों का एक निश्चित आकार का अनुक्रमिक संग्रह संग्रहीत करता है। सरणी का आकार/लंबाई निर्माण के समय निर्धारित की जाती है। सरणी में तत्वों की स्थिति को इंडेक्स या सबस्क्रिप्ट कहा जाता है। सरणी का पहला तत्व इंडेक्स 0 पर संग्रहीत होता है और, दू

  1. Java में String intern() मेथड की भूमिका क्या है? Java में String intern() मेथड की भूमिका क्या है?

    स्ट्रिंग Java में एक क्लास है जो कैरेक्टर्स के सीक्वेंस को स्टोर करती है, यह java.lang पैकेज से संबंधित है। एक बार स्ट्रिंग ऑब्जेक्ट बनाने के बाद आप उन्हें मॉडिफाई नहीं कर सकते (इम्यूटेबल)। स्टोरेज सभी स्ट्रिंग ऑब्जेक्ट्स हीप एरिया में एक अलग मेमोरी लोकेशन में स्टोर होते हैं जिसे स्ट्रिंग कॉन्स्टे