2012-01-01 2 views

ответ

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: в этом первом фрагменте кода у вас будет массив длиной 'number'. Каждый элемент этого массива является ссылкой на массив байтов и инициализируется как «null». то есть 'data [0] == null' истинно. –

+0

Спасибо, что отвечает на мой вопрос отлично. – gtdevel

2

может быть вам нужен 2-D массив

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

, объявляющий 10 байт, каждый из которых имеет размер

+1

И если я оставлю раздел «число» пустым, означает ли это, что размер может варьироваться в зависимости от каждого байта? – gtdevel

Смежные вопросы