/ / como comparar matrizes duplicadas - java, matrizes

como comparar matrizes duplicadas - java, matrizes

Recentemente, percebi que você pode duplicar uma matriz como esta

System.arraycopy(src,0,dup,0,src.length);

No entanto, mesmo que as duas matrizes sejam as mesmas, quando você as compara usando

if(src==dup)
...//print true
else if(src!=dup)
...//print false

Sempre imprimiria falso. Há alguma maneira de duplicar uma matriz que não muda com a original, enquanto também é capaz de comparar os dois corretamente?

Respostas:

1 para resposta № 1

Assim como amahfouz afirmou em sua resposta, as referências de duas matrizes diferentes são comparadas (da maneira como você escreveu no seu post).

Então, para poder comparar os elementos, você deve percorrê-los.

Você pode import Java.util.Arrayse faça isso:

if(Arrays.equals(src, dup))
System.out.println("Equal");
else
System.out.println("Not Equal");

0 para resposta № 2

O teste de igualdade apenas compara referências, não conteúdo, por isso sempre retornará false para duas referências de matriz diferentes.


0 para resposta № 3

Você precisa usar

Arrays.equals()