2012-11-09 11 views
5

जब मैं लिखने के इसजावा में सरणी कब शुरू की जाती है?

String[] fruits = {"Apple", "Pear"}; 

मैं उम्मीद होती है कि संकलन समय पर सरणी और तार बनाई गई हैं, जैसे कि यह सी में इसी तरह के कोड सही है के लिए होगा? क्या सरणी और उनकी सामग्री आम तौर पर संकलित समय या रन-टाइम पर बनाई गई है?

उत्तर

8

Arrays, which are objects in Java, बनाए गए हैं। यह केवल रनटाइम पर हो सकता है।

ध्यान दें कि कई ऑब्जेक्ट्स जावा प्रोग्राम में बनाए जाते हैं, और आपकी ऑब्जेक्ट क्रिएशन केवल वीएम के प्रारंभ होने के बाद ही होती है। एक स्थिर सरणी प्रारंभिकरण आपके प्रदर्शन पर एक उल्लेखनीय बोझ नहीं डालने वाला है।

आप सरणी परिवर्तित नहीं करते हैं और आप कई उदाहरण है, यह के रूप में स्थिर घोषित करने के लिए सुनिश्चित हो:

static String[] fruits = {"Apple", "Pear"}; 

यह भी ध्यान रखें कि एक स्थिर संकलित सरणी हो सकता है के साथ एक महत्वपूर्ण अंतर: जावा सरणी उत्परिवर्तनीय है। आप इसकी लंबाई नहीं बदल सकते हैं लेकिन आप इसके तत्वों को बदल सकते हैं (या उन्हें हटा सकते हैं)। एक जावा सरणी, यहां तक ​​कि अंतिम स्थैतिक, वास्तव में स्थिर नहीं है।

5

अरवे जावा में विशेष वस्तुएं हैं। तो, वे रनटाइम पर बनाए जाएंगे।

रूप Java Language Specification

जावा प्रोग्रामिंग भाषा में प्रति, सरणियों वस्तुओं (§4.3.1), डायनामिक रूप से तैयार कर रहे हैं, और प्रकार वस्तु के चर को सौंपा जा सकता है (§4.3.2)

JLS 15.10 सरणी निर्माण अभिव्यक्तियों पर अधिक जानकारी प्रदान करता है।

संबंधित मुद्दे