eclipse रहण एक्लिप्स एपीआई संग्रह की बजाय ऐरेज़ का उपयोग क्यों करते हैं?



सूर्य ग्रहण 11 अगस्त 2018 (1)

एक्लिप्स एपीआई में, वापसी और तर्क प्रकार संग्रह के बजाय अधिकतर सरणी हैं। एक उदाहरण IContainer पर members विधि है, जो IResources[] देता है

मुझे इसमें दिलचस्पी है कि यह मामला क्यों है। शायद यह निम्नलिखित में से एक है:

  1. एपीआई जेनेरिक जेनरिक उपलब्ध होने से पहले डिज़ाइन किए गए थे, इसलिए IResource[] सिर्फ Collection या List से बेहतर था
  2. मेमोरी चिंताओं, जैसे कि ArrayList आंतरिक रूप से एक सरणी को रखता है जिसमें ज़्यादा जगह की आवश्यकता होती है ( add एक कुशल कार्यान्वयन की पेशकश), जबकि एक सरणी हमेशा आवश्यक लक्ष्य आकार के लिए बना है
  3. सरणी में तत्वों को जोड़ने / निकालने के लिए संभव नहीं है, इसलिए यह दोहराव के लिए सुरक्षित है (लेकिन रक्षात्मक प्रतिलिपि अभी भी आवश्यक है, क्योंकि कोई भी तत्व भी बदल सकता है, उदा।

क्या किसी के पास कोई अंतर्दृष्टि या अन्य विचार हैं, क्यों एपीआई इस तरह विकसित किया गया था?


Answer #1

इसे एक उत्तर के रूप में पोस्ट करना है, इसलिए इसे स्वीकार किया जा सकता है।

ग्रहण जेनेरिक की भविष्यवाणी करता है और वे वास्तव में एपीआई स्थिरता के बारे में गंभीर हैं इसके अलावा, SWT पास एरे के निम्न स्तर पर ऑपरेटिंग सिस्टम एपीआई को प्रतिबिंबित करने के लिए उपयोग किया जाता है जो लिपटे जा रहे हैं। एक बार जब आप सरणियों का उपयोग कर टूलिंग का एक गुच्छा रखते हैं, तो मुझे लगता है कि चीजों को संगत रखने के लिए यह समझ में आता है। यह भी ध्यान रखें कि प्रतिबिंब का उपयोग करते समय सरणी सभी प्रकार के विरूपण मुद्दों के अधीन नहीं हैं

हाँ, मैं आप के रूप में जहाँ तक संग्रह एपीआई आम तौर पर वस्तुओं के गतिशील सूचियों के साथ काम करने के लिए बहुत आसान है सुन





eclipse-rcp