Comparação retornando false

Gostaria de uma ajuda com um problema que esta me fritando os neurônios:

Tenho um método que clona um BufferdImage[][], porem ao testar depois da cópia uma igualdade não é encontrada.

Alguém poderia verificar onde esta o meu erro?



	imagemResolvida =  dividirImagem(imagemOriginal, tamanhoMatriz);
		
	imagemDividida = clonarImagem(imagemResolvida);


	public BufferedImage[][] dividirImagem(BufferedImage imagem, int partes){
		BufferedImage [][] imagens = new BufferedImage [partes][partes];
		for (int x = 0; x < partes; x++) {
			for (int y = 0; y < partes; y++) {
				imagens [x][y] = imagem.getSubimage(imagem.getWidth()/partes*x, imagem.getHeight()/partes*y, imagem.getWidth()/partes, imagem.getHeight()/partes);
			}
		}
		return imagens;
	}


	public BufferedImage[][] clonarImagem(BufferedImage[][] imagem){
		BufferedImage[][] clone = new BufferedImage[imagem.length][imagem.length];
		for (int x = 0; x < imagem.length; x++) {
			for (int y = 0; y < imagem[x].length; y++) {
				clone[x][y] = imagem[x][y];
				System.out.println(clone[x][y] == imagem[x][y]);
			}
		}
		return clone;
	}
	
	public void compararImagens(BufferedImage[][] imagem1, BufferedImage[][] imagem2){
		
		for (int x = 0; x < imagem1.length; x++) {
			for (int y = 0; y < imagem1[x].length; y++) {
				System.out.println(imagem1[x][y] == imagem2[x][y]);
			}
		}
	}

[quote=ezequiellorenzatti]Gostaria de uma ajuda com um problema que esta me fritando os neurônios:

Tenho um método que clona um BufferdImage[][], porem ao testar depois da cópia uma igualdade não é encontrada.

Alguém poderia verificar onde esta o meu erro?

[code]

imagemResolvida =  dividirImagem(imagemOriginal, tamanhoMatriz);
	
imagemDividida = clonarImagem(imagemResolvida);


public BufferedImage[][] dividirImagem(BufferedImage imagem, int partes){
	BufferedImage [][] imagens = new BufferedImage [partes][partes];
	for (int x = 0; x < partes; x++) {
		for (int y = 0; y < partes; y++) {
			imagens [x][y] = imagem.getSubimage(imagem.getWidth()/partes*x, imagem.getHeight()/partes*y, imagem.getWidth()/partes, imagem.getHeight()/partes);
		}
	}
	return imagens;
}


public BufferedImage[][] clonarImagem(BufferedImage[][] imagem){
	BufferedImage[][] clone = new BufferedImage[imagem.length][imagem.length];
	for (int x = 0; x < imagem.length; x++) {
		for (int y = 0; y < imagem[x].length; y++) {
			clone[x][y] = imagem[x][y];
			System.out.println(clone[x][y] == imagem[x][y]);
		}
	}
	return clone;
}

public void compararImagens(BufferedImage[][] imagem1, BufferedImage[][] imagem2){
	
	for (int x = 0; x < imagem1.length; x++) {
		for (int y = 0; y < imagem1[x].length; y++) {
			System.out.println(imagem1[x][y] == imagem2[x][y]);
		}
	}
}

[/code][/quote]

Buenas!

Use assim:

System.out.println(imagem1[x][y].equals(imagem2[x][y]));

Abraço e sucesso!

Douglas