Avatar ·

Java में डबल ब्रेस इनिशियलाइज़ेशन (Double Brace Initialization) की दक्षता: क्या इसका उपयोग करना चाहिए?

सभी को नमस्ते! मैं एक शुरुआती Java डेवलपर हूँ और हाल ही में मुझे एक दिलचस्प सिंटैक्स मिला — डबल ब्रेस इनिशियलाइज़ेशन (Double Brace Initialization)। यह बहुत संक्षिप्त दिखता है, खासकर जब आपको जल्दी से एक collection बनाना और भरना हो। यहाँ एक उदाहरण है जो मैं अक्सर शैक्षिक उदाहरणों में देखता हूँ: ```java Map map = new HashMap<>() {{ put("key1", "value1"); put("key2", "value2"); put("key3", "value3"); }}; ``` एक तरफ, यह बहुत सुविधाजनक है — अलग से कोड ब्लॉक बनाने, वेरिएबल घोषित करने और फिर `put()` के माध्यम से भरने की ज़रूरत नहीं है। सब कुछ एक ही एक्सप्रेशन में हो जाता है। लेकिन मुझे एक सवाल परेशान करता है: यह कितना कुशल है? क्योंकि यहाँ एक anonymous inner class बनाया जा रहा है, और इसके अतिरिक्त ओवरहेड हैं। मैंने Stack Overflow पर पढ़ा कि यह तरीका