2012-01-01 8 views
10

मैं सरणी के लिए सीमित आकार के साथ बाइट सरणी की एक सरणी कैसे घोषित कर सकता हूं? यही वह था जो मैं सोच रहा था लेकिन यह काम नहीं कर रहा है और मुझे कुछ भी नहीं मिला।जावा में बाइट Arrays के एक ऐरे घोषित

private Integer number =10000; 
private byte[] data[]; 
data = new byte[][number]; 

उत्तर

13

ऐसा कुछ?

private byte[][] data; // This is idiomatic Java 

data = new byte[number][]; 

यह सरणी की एक सरणी बनाता है। हालांकि, उनमें से कोई भी उप-सरणी अभी तक मौजूद नहीं है। आप उन्हें इस प्रकार बना सकते हैं:

data[0] = new byte[some_other_number]; 
data[1] = new byte[yet_another_number]; 
... 

(या एक लूप में, जाहिर है)।

या फिर, यदि वे सभी एक ही लंबाई हैं, तो आप पूरी बात एक हिट में कर सकते हैं:

data = new byte[number][some_other_number]; 
+1

हां। ठीक ठीक। बस स्पष्ट करने के लिए, क्या इसका मतलब यह है कि मेरे पास "संख्या" बाइट सरणी होगी, प्रत्येक एक अनिश्चित आकार के साथ होगा? – gtdevel

+2

@gtdevel: उस पहले कोड स्निपेट में, आपके पास लंबाई 'संख्या' की सरणी होगी। उस सरणी का प्रत्येक तत्व बाइट सरणी का संदर्भ है, और इसे 'शून्य' में प्रारंभ किया गया है। यानी 'डेटा [0] == शून्य' सच है। –

+0

धन्यवाद, जो मेरे प्रश्न का पूरी तरह उत्तर देता है। – gtdevel

2

हो सकता है यदि आप 2-डी सरणी

private byte[][] data = new byte[10][number]; 

कि वाणी की जरूरत है 10 बाइट सरणी आकार संख्या

+1

और यदि मैं "संख्या" खंड को खाली छोड़ देता हूं, तो क्या इसका मतलब यह है कि आकार प्रत्येक बाइट के साथ भिन्न हो सकता है? – gtdevel