2012-01-01 57 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