2012-01-01 56 views
10

如何聲明一個數組大小受限的字節數組?這是我在想什麼,但它不起作用,我找不到任何東西。在Java中聲明一個字節數組的數組

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 2012-01-01 21:11:09

+2

@gtdevel:在第一個代碼片段中,您將有一個長度爲「number」的數組。該數組的每個元素都是對一個字節數組的引用,並被初始化爲「null」。即'data [0] == null'是真的。 – 2012-01-01 21:12:51

+0

謝謝,這完美地回答了我的問題。 – gtdevel 2012-01-01 21:13:12

2

可能是你需要一個2-d陣列

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

聲明10個字節的數組,每個的大小編號爲

+1

如果我將「數字」部分留空,是否意味着每個字節的大小可能會有所不同? – gtdevel 2012-01-01 21:10:00