2012-01-01 14 views
10

¿Cómo puedo declarar una matriz de matrices de bytes con un tamaño limitado para la matriz? Esto es lo que estaba pensando, pero no está funcionando y no pude encontrar nada.Declaración de una matriz de matrices de bytes en Java

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

Respuesta

13

¿Alló como esto?

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

data = new byte[number][]; 

Esto crea una matriz de matrices. Sin embargo, ninguna de esas sub-matrices aún existen. Se pueden crear de este modo:

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

(o en un bucle, obviamente).

Alternativamente, si son de la misma longitud, se puede hacer todo de un solo golpe:

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

Sí. Exactamente. Solo para aclarar, ¿significa eso que tendré matrices de bytes "numéricas", cada una con un tamaño indeterminado? – gtdevel

+2

@gtdevel: en ese primer fragmento de código, tendrá una matriz de longitud 'number'. Cada elemento de esa matriz es una referencia a una matriz de bytes, y se inicializa a 'null'. es decir, 'data [0] == null' es verdadero. –

+0

Gracias, eso responde mi pregunta perfectamente. – gtdevel

2

puede ser que necesite una matriz 2-D

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

que declara Conjuntos de 10 bytes cada uno con el número de tamaño

+1

Y si dejo la sección "número" en blanco, ¿eso significa que el tamaño podría variar con cada byte? – gtdevel

Cuestiones relacionadas