Afirmação sobre arrays no livro da Kathy [RESOLVIDO]

2 respostas
T

No livro da Kathy Sierra está escrito a seguinte afirmação:

"If you assign an array to a previously declared array reference, the array you're assigning must be the same dimension as the reference you're assigning it to."

Porém, o seguinte código não fura essa afirmação?

public class Teste
{

	public static void main(String[] args) {

		int a[][] = new int[3][4];
		int b[][] = new int[4][6];

		for(int x[] : a){
			for(int y: x){
				System.out.print(" "+y);
			}
		}
		System.out.println();
		a = b;//Aqui funciona normalmente... não era para dar erro de acordo com a afirmação acima?
		for(int x[] : a){
			for(int y: x){
				System.out.print(" "+y);
			}
		}

	}

}

Obrigado!

2 Respostas

rodrigo.bossini

Pensa assim:

a é um vetor de 3 posições, sendo que cada uma dessas posições aponta para um vetor de 4 posições.

b é um vetor de 4 posições, sendo que cada uma dessas posições aponta para um vetor de 6 posições.

O número de posições nada tem a ver com a dimensão do vetor.

Neste exemplo, ambos vetores são bidimensionais.

T

Humm, perfeito! Eu estava confundindo dimensão com posição mesmo…

Obrigado.

Criado 9 de fevereiro de 2010
Ultima resposta 9 de fev. de 2010
Respostas 2
Participantes 2